programm lässt sich nicht compilieren

hans-sonny

Bekanntes Mitglied
Java:
// quiz1.java



public final class quiz1 {
    private quiz1()  { }
    
    public static void main (final String [] args) {
	System.out.println(1+2+(" Studenten");
	System.out.println("Studenten: "1+2);
    }
}


wo liegt mein fehler?
 
quiz1.java:9: ')' expected
System.out.println(1+2+(" Studenten");
^
quiz1.java:10: ')' expected
System.out.println("Studenten: "1+2);
^
quiz1.java:10: not a statement
System.out.println("Studenten: "1+2);
^
quiz1.java:10: ';' expected
System.out.println("Studenten: "1+2);
^



das sagt der compiler
 
[c]System.out.println(1+2+(" Studenten");[/c]
Da fehlt ne schließende Klammer.

[c]System.out.println("Studenten: "1+2);[/c]
Sollte eher [c]System.out.println("Studenten: "+(1+2));[/c] sein.


(Wobei ich mir nicht 100%-ig sicher bin, wann intern in einen String umgewandelt wird, d.h., ob [c]1+2[/c] überhaupt so berechnet wird oder ob es einfach an den String drangeconst wird.)
 
Zuletzt bearbeitet:
Weil du dafür sorgen musst, dass in den Klammern von System.out.println() am Ende ein String steht. Ohne das Pluszeichen zwischen [c]"Studenten: "[/c] und [c]1+2[/c] bekommst du aber einen String und ein int raus, und das klappt nicht. Das int muss dann noch an den String drangepappt werden (die Umwandlung von int zu String geschieht automatisch), und das geschieht mit dem Plus (einfach ausgedrückt).
 

Zurück
Oben