Diese Kommentare sind Platzhalter von JStein52 um dir zu sagen hier musst DU noch Code ergänzen, damit die Methode das macht was du willst.// Artikelnummer holen
// Methode verlassen und nichts weiter tun
public void neuerArtikel(Artikel artikel)
{
artikel.gibNummer();
for(Artikel aktuellerArtikel: lager){
if (aktuellerArtikel.gibNummer() == nummer) {
System.out.println("Es existiert bereits ein Artikel mit dieser Nummer!");
return;// Methode verlassen und nichts weiter tun
}
}
lager.add(artikel);
}
so lange du Äpfel mit Birnen vergleichst wird es nicht funktionieren. Aber der return sitzt schon mal an der richtigen Stelleif (aktuellerArtikel.gibNummer() == nummer)
public void neuerArtikel(Artikel artikel)
{
artikel.gibNummer();
return;
for(Artikel aktuellerArtikel: lager){
if (aktuellerArtikel.gibNummer() == artikel) {
System.out.println("Es existiert bereits ein Artikel mit dieser Nummer!");
return;// Methode verlassen und nichts weiter tun
}
}
lager.add(artikel);
}
Zuerst mit BlueJ bequatschen und dich dann raushalten ...ich halte mich raus aus dem Thema.
nummer = artikel.gibNummer();
public void neuerArtikel(Artikel artikel)
{
artikel.gibNummer();
return;
for(Artikel aktuellerArtikel: lager){
if (aktuellerArtikel.gibNummer() == artikel.gibNummer(){
System.out.println("Es existiert bereits ein Artikel mit dieser Nummer!");
return;// Methode verlassen und nichts weiter tun
}
}
lager.add(artikel);
}
Ich weiss es nicht, ich komme nicht weiter.
Immer wenn ich was verändere kommen Fehlermeldungen.
Wenn du schon sagst das eine Fehlermeldung kommt dann sag immer dazu welche Fehlermeldung! Wir wollen nicht raten!So? Dann kommt bei der { eine Fehlermeldung -.-
if (aktuellerArtikel.gibNummer() == artikel.gibNummer(){
Ja, aber er wird bei der Zeile davor schon eine Fehlermeldung kriegen wegen "unreachable Code"Schau dir doch nochmal das Kapitel zu if-Blöcken an und wie die Syntax dazu ausschaut
Oder auch ") erwartet" oder auch "du hast eine schliessende Klammer vergessen!!!")expected
Und was besagen die dann ? Ich denke mal dass er zu allem hinter deinem ersten return sagt: "unreachable code"
Was weisst du nicht?Ich weiss es nicht
Schlussfolgerung: Du hast den Code geändert. Und den geänderten Code würde ich gerne sehen.")") wenn ich das an die markierte Stelle hinzufüge kommt wieder ne Fehlermeldung. ohman^^
Müsste der Eclipse-Compiler sein, der kompiliert auch bei einfachen Fehlern - an den entsprechenden Stellen würde dann ne Exception geworfen werden. Zum entwickeln manchmal ganz praktischIch habe gerade in NetBeans eine Testklasse mit unreachable statements erstellt. NB kan sie sogar ausführen, und bei Änderungen an der Klasse (die den unreachable Code aber nicht beheben) sehe ich auch die gemachten Änderungen auf der Konsole. Der javac steigt allerdings mit einer Fehlermeldung aus. KA was NB da im Hintergrund deichselt. Wenn BlueJ das aber ähnlich handhabt (also auch fehlerhaften Code irgendwie ausführen kann), kann es gut sein, das der TE vom unreachable code nix mitbekommt, wei BlueJ den Fehler nicht anzeigt und die Klasse bzw. Methode trotzdem bis zum return ausführt. Das Verhalten wäre allerdings eine guter Grund, auf was anderes umzusteigen.
Wobei ja gerade der Fall "unreachable Statement" kein Fehler ist der Exceptions werfen sollte. Ich frage mich sowieso wieso der Compiler mich da bevormundet und behauptet das wäre ein Fehler ?der kompiliert auch bei einfachen Fehlern
Wobei ja gerade der Fall "unreachable Statement" kein Fehler ist der Exceptions werfen sollte. Ich frage mich sowieso wieso der Compiler mich da bevormundet und behauptet das wäre ein Fehler ?
Du hast doch schon eine Fehlermeldung. Die mit dem fehlenden ")".und ne Fehlermeldung endlich mal kommt.
Das nicht. Aber manchmal eine bequeme Möglichkeit den restlichen Code einer Methode vorrübergehend "lahmzulegen"Nicht erreichbarer Code ist doch kein Code, der „richtig“ ist.
public void neuerArtikel(Artikel artikel){
for(Artikel vorhandenerArtikel: lager){
if(vorhandenerArtikel.gibNummer() == artikel.gibNummer(){
System.out.println("Es existiert bereits ein Artikel mit dieser Nummer");
return;
}
}
lager.add(artikel);
}
public void neuerArtikel(Artikel artikel){
Artikel suchErgebnis = findeArtikel(artikel.gibNummer());
if(suchErgebnis != null){
System.out.println("Es existiert bereits ein Artikel mit dieser Nummer");
}
else{
lager.add(artikel);
}
}