Java klasse schreiben

Die Klasse City :
Eine Stadt hat die Variablen private String name und private Point point.
Es gibt fur beide Variablen Get-Methoden. Schreibt dann public void setPoint(Point point ), die, falls der ubergebene Punkt null ist, eine
NullPointerException(„Keine Koordinaten angegeben.“)
wirft. Wichtig ist aber, dass der Name nur im Konstruktor gesetzt wird und danach
darf er nie wieder verandert werden.

Schreibt einen Konstruktor public City(String name, Point point). Benutzt
die setPoint-Methode, die sich schließlich auch um Fehler kummert. Außerdem
darf name nicht null sein und auch nicht der leere String . Falls das zutreff
en sollt,
werft eine NullPointerException(„Kein Name angegeben.“) bzw. eine
IllegalArgumentException(„Der Name darf nicht leer sein“).

was ich geschrieben habe :

public class City{

//variable

private String name;
private Point point;

//get method
public double getName(){
return this.name;
}
public double getPoint(){
return this.point ;
}

//set method
public void setPoint(Point point )throw NullPointerException{
if(point.getX()== 0 || point.getY()){throw new NullPointerExeption("keine koordinaten angegeben ");}
this.point = point;

}

//constructor
public City(){ //default constructor
this.name = „“;
this.point = new Point(0,0);
}

Soweit alles richtig ???

und was ist gemeint mit " Wichtig ist aber, dass der Name nur im Konstruktor gesetzt wird und danach
darf er nie wieder verandert werden." ??? kann mir jemand das bitte erklären ??

und wie schreibt man einen konstruktor mit 2 exception drin ?? NullPointerException und IllegalArgumentException ??
kann mir jemand bitte helfen ??
danke

Hallo,

Soweit alles richtig ???

Nein!

public class City{

private String name; // Damit der name nicht verändert werden kann,
// benutze das Schüsselwort ‚final‘
private Point point;

// Ich hab den Konstruktor mal nach oben gestzt, finde ich übersichtlicher

public City(){ // Du brauchst einen Konstruktor, dem du den Namen
// und die Position übergibst
this.name = „“;
this.point = new Point(0,0);
}

public double getName(){ // Diese Methode will eine double-Variable
// zurückgeben, der Rückgabewert ist aber
// ein String
return this.name;
}

public double getPoint(){ // Wie oben, hier aber Point, statt String
return this.point ;
}

public void setPoint(Point point) throw NullPointerException{
// Hier verlangt die Aufgabenstellung keine Exception, oder?
if(point.getX()== 0 || point.getY()) {
throw new NullPointerExeption("keine koordinaten angegeben ");
}
this.point = point;
}
}

So sieht das ganze richtig aus:

import java.awt.Point;

public class City{

private final String name;
private Point point;

public City(String name, Point point){
if (name == null)
throw new NullPointerException(„Kein Name angegeben.“);
else if (name.equals(""))
throw new IllegalArgumentException(„Der Name darf nicht leer sein.“);

this.name = name;
this.point = point;
}

public String getName(){
return this.name;
}

public Point getPoint(){
return this.point;
}

public void setPoint(Point point) {
this.point = point;
}
}

Grüße, Keks

danke ich mache alles nochmal

Hab nur noch hinzuzufügen …war eine von dir beschriebenen Bedingungen.
Ansonsten ist alles ok.

public void setPoint(Point point) {
if(point == null)
throw new NullPointerException(„Keine Koordinaten angegben“);
this.point = point;
}