Warum geht dieses programm nicht?

...komplette Frage anzeigen

2 Antworten

die Variable zahl ist zweimal definiert !!!

int zahl = 6;
String zahl = input.readLine();

außerdem vergleichst Du den Eingabestring mit einer Zahl, nehme ich an, ist nicht eindeutig, da zahl ja zweimal definiert ist !!!

if(zahl == 6)

sollte zahl hier der Eingabestring sein, musst Du ihn vorher "casten" !!!
das würde dann in etwa so aussehen, natürlich nur vorausgesetzt zahl ist der String...

if(Integer.parseInt(zahl) == 6)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JupStrunk
11.03.2016, 12:41

Nachtrag:

da Du die erste Deklaration von zahl eh nicht verwendest, lösch diese doch einfach (oder kommentier sie aus) !!!
dann sollte es einwandfrei laufen... ;)

1
Kommentar von JustinMarc
14.03.2016, 10:14

Hallo deine Antwort war sehr hilfreich und in Eclipse funktioniert das auch aber wenn ich das in einem editor habe und es speicher kann ich es auch mit dem befehl

javac ThefirstClass.java

zu einer  .class datei machen aber wenn es dann mit

java ThefirstClass öffnen möchte dann sagt mein Terminal

justin-marc@Praktikums-Rechner:~/Dokumente$ java ThefirstClass
Exception in thread "main" java.lang.NoClassDefFoundError: ThefirstClass (wrong name: Package/ThefirstClass)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

0

input.readLine() wird als String gewertet und du versuchst das mit einem integer zu vergleichen, du musst den String als erst umwandeln.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JupStrunk
11.03.2016, 12:49

ist zwar soweit richtig, aber nicht der Fehler hier !!!

zahl ist zweimal definiert, einmal als int und ein zweites Mal als string !!! ;)

0

Was möchtest Du wissen?