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.
package dreizahlen;
import java.util.Scanner;
public class Zahlenberechung {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
double zahl1, zahl2, zahl3;
Scanner s = new Scanner(System.in);
System.out.print("Bitte Zahl 1 eingeben: " );
zahl1 = s.nextDouble();
System.out.print("Bitte Zahl 2 eingeben: " );
zahl2 = s.nextDouble();
System.out.print("Bitte Zahl 3 eingeben: " );
zahl3 = s.nextDouble();
if (zahl1 > zahl2) { if (zahl1 > zahl3);
{System.out.println("Zahl1 ist am größsten");
}
if (zahl3 > zahl1); {System.out.println("Zahl3 ist am größsten");
if (zahl2 > zahl3); {System.out.println("Zahl2 ist am größsten");
if ( zahl3 > zahl2);{System.out.println("Zahl3 ist am größsten");
}
}
Er zeigt einen Fehler in der Zeile mit der Klasse an:
public class Zahlenberechnung {
und einen Fehler beim letzten "{" unten im Code - folgende Fehler gibt er aus:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Syntax error, insert "}" to complete Block
Syntax error, insert "}" to complete Statement
Syntax error, insert "else Statement" to complete IfStatement
Syntax error, insert "}" to complete MethodBody
at dreizahlen.Zahlenberechung.main(Zahlenberechung.java:35)
Das liegt daran, dass du die if-blöcke ganz falsch gemacht hast:
Code:
if (zahl3 > zahl1); {System.out.println("Zahl3 ist am größsten");
erstens gehört hinter das if(...) kein Semikolon, und zweitens öffnest du da mit einer geschweiften Klammer einen Block, schliesst ihn aber nicht wieder. Richtig müsste es z.B. so aussehen:
Code:
if (zahl3 > zahl1)
{
System.out.println("Zahl3 ist am größsten");
}
package dreizahlen;
import java.util.Scanner;
public class Zahlenberechung {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
double zahl1, zahl2, zahl3;
Scanner s = new Scanner(System.in);
System.out.print("Bitte Zahl 1 eingeben: " );
zahl1 = s.nextDouble();
System.out.print("Bitte Zahl 2 eingeben: " );
zahl2 = s.nextDouble();
System.out.print("Bitte Zahl 3 eingeben: " );
zahl3 = s.nextDouble();
if (zahl1 > zahl2) { if (zahl1 > zahl3)
{System.out.println("Zahl1 ist am größsten");
}
if (zahl3 > zahl1) { System.out.println("Zahl3 ist am größsten"); }
if (zahl2 > zahl3) { System.out.println("Zahl2 ist am größsten"); }
if (zahl3 > zahl2) { System.out.println("Zahl3 ist am größsten"); }
}
}
Das Programm soll ermitteln welche von den drei eingebenen die größste ermitteln
ist de raufbaun denn so schonmal korrekt?
Jetzt bringt er den Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "}" to complete ClassBody
at dreizahlen.Zahlenberechung.main(Zahlenberechung.java:36)
if (zahl1 > zahl2) { if (zahl1 > zahl3)
{System.out.println("Zahl1 ist am größsten");
}
das ist ja wohl nicht sehr sinnvoll, oder?? die geschweiften klammern sind falsch und das eine if ist auch überflüssig. desweiteren funktioniert dein programm an sich nicht... zb bei gleichgroßen zahlen. oder mit der eingabe 3, 2, 1 gibts auch unsinn aus.. wie wäre es mit folgendem algorithmus:
tempNum = zahl1
if tempNum<=zahl2 tempNum=zahl2
if tempNum<=zahl3 tempNum=zahl3
if tempNum<=zahl4 tempNum=zahl4
usw... am ende hast du die größte zahl. wenn du wissen willst welche eingabe nummer die hatte (also erste zweite oder dritte zahl) kannst du ja jeweils die nummer der zahl mitspeichern. an sich dürftest du ja gemerkt haben, dass sich das ganze immer wiederholt - dafür gibts dann schleifen... könntest die eingebenen zahlen in nem array speichern... den dann durchlaufen und dann den i-ten wert mit dem temporären vergleichen...
for (int i=0; i<anzahlDerEingegebenenZahlen; i++)
if tempNum <= eingegebeneZahl
tempNum=eingebeneZahl
jetzt das ganze noch in ne funktion rein die du aufrufst und nun hast du verschiedene möglichkeiten die gleiche funtkionalität zu nutzen - unabhängig davon ob du die zahlen einliest, oder die aus ner datenbank kommen.. etc.
inspiriert? schön. viel spass. und denk mal nach warum dein code so wenig sinn macht (geh doch mal alle möglichen fälle durch. die zahlen eins bis drei reichen dafür völlig aus). you will see ;-)