Wieso funktioniert das hie rnicht? Sogar mein Lehrer weiß nicht was daran der Fehler ist.
Java:
publicclassVersuchPreise{publicstaticvoid main (String[]args){//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurdeint artnr = IO.readInt ("Geben sie die Artikelnummer des gekauften Artikels ein: ");double artikelpreis;
artikelpreis =Artpreise(artnr);System.out.println ("Der Artikel kostet: "+ artikelpreis);}}staticdoubleArtpreise(int artnr){switch(artnr){case1:return5.99;break;case2:return6.99;break;case3:return7.99;break;case4:return8.99;break;case5:return9.99;break;default:return"nicht vorhanden"break;}}
Fehlermeldung:
Java:
CompiliereH:\Anwendungsdaten\VersuchPreise.java mit Java-CompilerVersuchPreise.java:17:11:'class' or 'interface' expected
staticdoubleArtpreise(int artnr){^1 error
Meinen IT-Sys Lehrer, ok, ich hab das jetzt mal umgeschrieben, und jetzt funzt gar nichts mehr:
Java:
publicclassVersuchPreise{publicstaticvoid main (String[]args){//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurdeint artnr = IO.readInt ("Geben sie die Artikelnummer des gekauften Artikels ein: ");double artikelpreis;
artikelpreis =Artpreise(artnr);System.out.println ("Der Artikel kostet: "+ artikelpreis);}staticdoubleArtpreise(int artnr){switch(artnr){case1:return5.99;break;case2:return6.99;break;case3:return7.99;break;case4:return8.99;break;case5:return9.99;break;default:return200.00;}}}
welchen Sinn macht es denn nach einem Return-Statement ein break zu setzen.
Außerdem kann man in einer Methode
Code:
static double Artpreise(int artnr)
nicht als Default-Wert dann einen String zurückgeben, wenn ein Double gefordert ist!
Sofern du die Klasse [c]IO[/c] kennst und darauf zugreifen kannst, sollte das unten zumindest kompilieren!
Java:
publicclassVersuchPreise{publicstaticvoidmain(String[] args){// Die Eingabewerte erste Artikelnummer danach die Menge die gekauft// wurdeint artnr = IO
.readInt("Geben sie die Artikelnummer des gekauften Artikels ein: ");double artikelpreis;
artikelpreis =Artpreise(artnr);System.out.println("Der Artikel kostet: "+ artikelpreis);}staticdoubleArtpreise(int artnr){switch(artnr){case1:return5.99;case2:return6.99;case3:return7.99;case4:return8.99;case5:return9.99;// default: return "nicht vorhanden"default:return0.0;}}}
das sagt dir auch deine Fehlermeldung:
wenn eine Methode irgendwas "returned", dann wird sie verlassen...deswegen sind deinen ganzen [c]break[/c] -Anweisungen [c]unreachable statement[/c]
Wie soll break erreicht werden, wenn durch return sowieso die ganze Methode verlassen wird?
Warum der nachm switch Block nochn return haben will, obwohl du einen default-Block hast, weiß ich nicht, aber scheint so zu sein^^
wie zuvor schon mehrfach geschrieben wurde:
rücke Deinen Code vernünftig ein, dann siehst Du auch, was passiert (spätestens beim mehreren hundert oder gar tausend Zeilen blickst Du sonst nicht mehr durch)
Java:
publicclassVersuchPreise{publicstaticvoid main (String[]args){//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurdeint artnr = IO.readInt ("Geben sie die Artikelnummer des gekauften Artikels ein: ");double artikelpreis;
artikelpreis =Artpreise(artnr);System.out.println ("Der Artikel kostet: "+ artikelpreis);}}// ENDE der Klasse !! Rest ist unreachable !!staticdoubleArtpreise(int artnr){switch(artnr){case1:return5.99;case2:return6.99;case3:return7.99;case4:return8.99;case5:return9.99;default:return"nicht vorhanden"}}
importjavax.swing.JOptionPane;publicclassTiereApp{publicstaticvoid main (String[]args){//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurdeint artnr =Integer.parseInt (JOptionPane.showInputDialog("Geben sie die Artikelnummer des gekauften Artikels ein: "));System.out.println ("Der Artikel kostet: "+Artpreise(artnr));}staticdoubleArtpreise(int artnr){switch(artnr){case1:return5.99;case2:return6.99;case3:return7.99;case4:return8.99;case5:return9.99;default:return0.00;}//ende switch}//ende artpreise}//TierApp
Ach ja und das mit dem Formatieren. Wenn du Eclipse verwendest, einfach mal CTRL + SHIFT + F. Dann wird der Code automatisch formatiert und an der richtigen Stelle eingerückt.
Java:
importjavax.swing.JOptionPane;publicclassTiereApp{privatestaticdouble grundPreis =4.99;publicstaticvoidmain(String[] args){// Die Eingabewerte erste Artikelnummer danach die Menge die gekauft// wurdeint artnr =Integer.parseInt(JOptionPane.showInputDialog("Geben sie die Artikelnummer des gekauften Artikels ein: "));System.out.println("Der Artikel kostet: "+computeArtPreise(artnr));}staticdoublecomputeArtPreise(int artnr){return grundPreis +(artnr *1);}}