Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wieso funktioniert das hie rnicht? Sogar mein Lehrer weiß nicht was daran der Fehler ist.
Java:
public class VersuchPreise
{
public static void main (String[]args)
{
//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurde
int artnr = IO.readInt ("Geben sie die Artikelnummer des gekauften Artikels ein: ");
double artikelpreis;
artikelpreis = Artpreise (artnr);
System.out.println ("Der Artikel kostet: " + artikelpreis);
}
}
static double Artpreise (int artnr) {
switch (artnr) {
case 1: return 5.99;
break;
case 2: return 6.99;
break;
case 3: return 7.99;
break;
case 4: return 8.99;
break;
case 5: return 9.99;
break;
default: return "nicht vorhanden"
break;
}
}
Fehlermeldung:
Java:
Compiliere H:\Anwendungsdaten\VersuchPreise.java mit Java-Compiler
VersuchPreise.java:17:11: 'class' or 'interface' expected
static double Artpreise (int artnr) {
^
1 error
Meinen IT-Sys Lehrer, ok, ich hab das jetzt mal umgeschrieben, und jetzt funzt gar nichts mehr:
Java:
public class VersuchPreise
{
public static void main (String[]args)
{
//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurde
int artnr = IO.readInt ("Geben sie die Artikelnummer des gekauften Artikels ein: ");
double artikelpreis;
artikelpreis = Artpreise (artnr);
System.out.println ("Der Artikel kostet: " + artikelpreis);
}
static double Artpreise (int artnr) {
switch (artnr) {
case 1: return 5.99;
break;
case 2: return 6.99;
break;
case 3: return 7.99;
break;
case 4: return 8.99;
break;
case 5: return 9.99;
break;
default: return 200.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:
public class VersuchPreise {
public static void main(String[] args) {
// Die Eingabewerte erste Artikelnummer danach die Menge die gekauft
// wurde
int artnr = IO
.readInt("Geben sie die Artikelnummer des gekauften Artikels ein: ");
double artikelpreis;
artikelpreis = Artpreise(artnr);
System.out.println("Der Artikel kostet: " + artikelpreis);
}
static double Artpreise(int artnr) {
switch (artnr) {
case 1:
return 5.99;
case 2:
return 6.99;
case 3:
return 7.99;
case 4:
return 8.99;
case 5:
return 9.99;
// default: return "nicht vorhanden"
default:
return 0.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:
public class VersuchPreise
{
public static void main (String[]args)
{
//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurde
int 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 !!
static double Artpreise (int artnr)
{
switch (artnr)
{
case 1:
return 5.99;
case 2:
return 6.99;
case 3:
return 7.99;
case 4:
return 8.99;
case 5:
return 9.99;
default:
return "nicht vorhanden"
}
}
import javax.swing.JOptionPane;
public class TiereApp
{
public static void main (String[]args)
{
//Die Eingabewerte erste Artikelnummer danach die Menge die gekauft wurde
int artnr = Integer.parseInt (JOptionPane.showInputDialog("Geben sie die Artikelnummer des gekauften Artikels ein: "));
System.out.println ("Der Artikel kostet: " + Artpreise (artnr));
}
static double Artpreise (int artnr)
{
switch (artnr)
{
case 1:
return 5.99;
case 2:
return 6.99;
case 3:
return 7.99;
case 4:
return 8.99;
case 5:
return 9.99;
default:
return 0.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:
import javax.swing.JOptionPane;
public class TiereApp {
private static double grundPreis = 4.99;
public static void main(String[] args) {
// Die Eingabewerte erste Artikelnummer danach die Menge die gekauft
// wurde
int artnr = Integer
.parseInt(JOptionPane
.showInputDialog("Geben sie die Artikelnummer des gekauften Artikels ein: "));
System.out.println("Der Artikel kostet: " + computeArtPreise(artnr));
}
static double computeArtPreise(int artnr) {
return grundPreis + (artnr * 1);
}
}