Switch mit String

Milkaselnuss

Aktives Mitglied
Im Internet habe ich gelesen, dass Switch mit Java 7 nun auch String unterstützt.
Jetzt hab ich das mal ausprobieren wollen und Eclipse lässt es aber nicht zu, das ja eigentlich kein String in Switch geht. Jetz bin ich verwirrt. Woran kann das liegen, dass das doch nicht funktioniert?
 

Milkaselnuss

Aktives Mitglied
java 7 hab ich. Das mit Eclipse könnte sein.
Das ich da dran ned gedacht hab -.-


EDIT: muss ich beim updaten von eclipse auf irgendwas achten? Nicht, dass aufeinmal meine workbench leer ist.
 
C

Camino

Gast
Du meinst deinen Workspace (nicht die Workbench)? Also ich hab normalerweise meinen Workspace getrennt von den Eclipse-Programmdaten. Und neu installieren von Eclipse heisst ja eigentlich nur, die Programmdaten zu entpacken, dorthin wo du es haben möchtest. Dürfte normalerweise deinen Workspace nicht berühren.
 

Milkaselnuss

Aktives Mitglied
So jetz hab ich leider immernoch ein Problem.(eig sogar 2)
Es wird mir nun
"Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enums are permitted"

und bei meinem Eclipse sind ziemlich viele Auswahlmöglichkeiten grau.
Und unter new sind beispielsweisen garkeine Auswahlmöglichkeiten.
 
C

Camino

Gast
So jetz hab ich leider immernoch ein Problem.(eig sogar 2)
Es wird mir nun
"Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enums are permitted"
Wo wird das angezeigt?

Und unter new sind beispielsweisen garkeine Auswahlmöglichkeiten.
Wo hast du bei new Auswahlmöglichkeiten? Im Editor?

Evtl. musst du bei Eclipse auch noch das Java 7 einstellen.
 

Milkaselnuss

Aktives Mitglied
das wird mir bei dem beginn vom switch angezeigt

Java:
switch (verschl){  // In dieser Zeile wird mir der Fehler angezeigt

	case " ":     ;            
//Hier kommen die Cases mit String, die ich allerdings noch nicht gemacht habe

}




EDIT: "verschl" ist der String der aus einen JOptionPane.showInputDialog gewonnen wird.
 
C

Camino

Gast
"Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enums are permitted"

Das sagt doch schon die Fehlermeldung, dass unter 1.7 Strings nicht bei switch benutzt werden können. Wie schon gesagt, musst du wohl bei Eclipse noch in den Einstellungen auf Java 7 umstellen.
 

Milkaselnuss

Aktives Mitglied
Und mir werden immernoch viele Sachen nicht angezeigt. Wenn ich z.b. oben in der Menüleiste auf New gehe steht da "No Applicable Items". Bei Edit fehlen auch viele Sachen wie z.b. Die Find und Find/Replace Funktionen. Bei Refactor fehlt so gut wie alles.
 

Milkaselnuss

Aktives Mitglied
In den Projekteinstellungen musst du Source- und Targetlevel des Projektes noch auf Java 7 umstellen.

Unter Project-> Properties->Java Compiler-> Compiler compliance level 1.7
und bei "Use default compliance settings" hab ich ein Häkchen. Das is doch dann richtig oder?

Und wenn ich das Programm laufen lassen will steht in der Console:

[WR]java.lang.UnsupportedClassVersionError: verschluessler/Verschluessler : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main" [/WR]



EDIT: Fehler evtl. selbst gefunden
 

Milkaselnuss

Aktives Mitglied
Ja genau das wars auch.
Man muss ja bei Java die alten Versionen manuell deinstallieren, da das nicht automatisch erfolgt.
Folglich hatte ich noch die alten Versionen auf dem Rechner. Ich hab dann alle Versionen deinstalliert und nur die neue JDK und jetzt funktioniert das Programm (zumindest fast) und in Eclipse ist auch wieder alles auswählbar.
 

Noctarius

Top Contributor
Du kannst auch einfach definieren welche Version du nutzen willst. Ich z.B. habe auch eine 1.5, eine 1.6 und eine 1.7 installiert, aber Eclipse nutzt konsequent die 1.7 JVM.
 

vaults

Mitglied
Du must in Eclipse unter "Run"->"Run Configurations"->JRE, wie auf dem Bild zu sehen, den Pfad auf JRE7 umstellen.

Dann auf Apply klicken.

Jetzt hast du Java7 zur Auswahl, falls du ein Projekt unter JRE6 begonnen hast, ist hier auch immernoch JRE6 eingestellt.

Eclipse weist dich hier darauf hin und bietet dir mit nur einem Klick das Update an.
Dauert ca. 3sek und du kannst loslegen.

LG,
Alex
 

Anhänge

  • classpath.jpg
    classpath.jpg
    60,3 KB · Aufrufe: 37
  • compliance.jpg
    compliance.jpg
    33,1 KB · Aufrufe: 28

Milkaselnuss

Aktives Mitglied
Gut nochmal danke für eure Hilfe.
1 Problem habe ich allerdings noch mit den String im switch.

Java:
String verschl = JOptionPane.showInputDialog("Eingabe: ",JOptionPane.OK_OPTION);

switch (verschl){
						case "ich": text1 = "HXN";
						case "du": text1 = "NX";
						case "er": text1 = "YP";
						case "sie": text1 = "EFG";
						case "es": text1 = "EX";
						case "wir": text1 = "KUS";
						case "ihr": text1 = "SPF";
						case "1": text1 = "1";
						default: text1 = verschl + " ";
						case "2": text1 = "2";
}
Ausgabe.setText(Ausgabe.getText() + text1);
//Ausgabe ist ein Label

Wenn ich jetzt "2" eingebe wird mir später auch "2" angezeigt. Gebe ich allerding "ich" an wird mir nicht "HXN" sondern auch "2" angezeigt. Und ich weiß nicht wieso :-(
 

vaults

Mitglied
Ich glaube da fehlen auch noch in jedem case die break Anweisungen am Ende.
Sonst läuft er jede, ab Eingabefall, folgende Anweisung durch und gibt Murcks aus.

Lg,
Alex
 

Milkaselnuss

Aktives Mitglied
Stimmt. Jetz funktionierts. Damit dürfte das (hoffentlich) mein letztes Problem in diesem Thread gewesen sein.
Nochmal ein herzliches Danke an alle, die mir hier geholfen haben!
 

BitBoy

Aktives Mitglied
Das geht jetzt ???
Habe immer irgendwelche workarounds getüftelt.
Und mich gewundert, dass, das nicht geht, andere Sprachen nehmen Strings als switch Argument schon lange.
Aber nun gut ;-)
BTW: Haltet Ihr es für sinnvoll, immer neuste Java Versionen zu nutzen ? Weil der User muss sein JVM ja auch immer updaten und wenn ers nicht tut gehts nicht.
 

BitBoy

Aktives Mitglied
Hm, bin da evtl. nicht uptoDate.
Alls ich damals, das erste mal dachte ich lern jetzt Java, war zwar die Sprache schon relativ mächtig
aber ziemlich abhängig from User. Muss dazu erwähnen, dass wir von 15 Jahren reden u. ich Applet Fan bin.
Jetzt bin ich zurück und erfreu mich an den ganzen neuen Klassen, habe aber die ganze Umsetzungs Technik nicht verfolgt, weiss nur das technisch gesehen, jeder der in den letzen 10 Jahren einen PC in einem Elektronik Discounter gekauft hat, das aktuelle Windoof mit der eben aktuellen Java Version hat u. hier und da zum Update gebeten wird u. User die Ihren PC selbst aufsetzen bzw. andere Betriebs Systeme nutzen, wissen was Java ist und das entspannt selbst installieren. Deshalb hab ich mich jetzt erst wieder voll reingekniet, schwerpunkt auch Server Java, da liegts ja eh an mir welche Version die Engine hat.
Ha ja, dann passt ja alles :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Silas89 String in switch - case Java Basics - Anfänger-Themen 19
G switch mit String Java Basics - Anfänger-Themen 8
A switch case mit einem String Java Basics - Anfänger-Themen 4
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 9
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
A switch statement Java Basics - Anfänger-Themen 4
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
Lion.King switch-Befehl Java Basics - Anfänger-Themen 6
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
P9cman Vokal Zähler mit switch case und for-Schleife Java Basics - Anfänger-Themen 4
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
C if-Konstrukt durch switch-Konstrukt ersetzen Java Basics - Anfänger-Themen 14
1 Switch Case Java Basics - Anfänger-Themen 3
T Alternative für switch case Java Basics - Anfänger-Themen 1
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
W Taschenrechner mit Switch case Java Basics - Anfänger-Themen 4
B Notensystem Switch-Case Java Basics - Anfänger-Themen 31
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Switch case wird als char nicht erkannt.... Java Basics - Anfänger-Themen 6
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
H Frage zur if-Bedingung bzw switch case Java Basics - Anfänger-Themen 6
S switch case fängt beim letzten case an Java Basics - Anfänger-Themen 6
J Parameterübergabe in switch? Java Basics - Anfänger-Themen 2
M Switch Java Basics - Anfänger-Themen 2
F Switch Case Problem mit Regex lösen? Java Basics - Anfänger-Themen 6
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
NoMercy BitFlags Programm (switch on/off , swap und isSet) Java Basics - Anfänger-Themen 7
S Switch-Case für eine Array-Zuordnung Java Basics - Anfänger-Themen 5
S switch und case Java Basics - Anfänger-Themen 1
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
B Problem bei switch statement Java Basics - Anfänger-Themen 4
D Klassen Problem bei switch-case? Java Basics - Anfänger-Themen 2
E Input/Output Switch ausgabe anpassen bzw. anders darstellen Java Basics - Anfänger-Themen 13
A Warum funktioniert switch aber nicht if/else? Java Basics - Anfänger-Themen 23
B Wiederholen einer if/switch-case Schleife Java Basics - Anfänger-Themen 9
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
T switch case und continue Java Basics - Anfänger-Themen 5
D switch case Code Java Basics - Anfänger-Themen 3
K Erste Schritte switch - Warum sind long/float/double/... nicht erlaubt? Java Basics - Anfänger-Themen 5
Ponychan95 Erste Schritte Switch fällt immer bis zum default durch Java Basics - Anfänger-Themen 4
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
D kleiner Taschenrechner mit switch fehlerhaft Java Basics - Anfänger-Themen 1
O This in switch anweisung Java Basics - Anfänger-Themen 5
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
K Variablen RETURN in Case-Switch / This method must return a result of type Item Java Basics - Anfänger-Themen 4
R Methoden Switch wählt das Falsche Java Basics - Anfänger-Themen 17
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
M Endlosschleife bricht durch switch ab Java Basics - Anfänger-Themen 17
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
D Array in switch Java Basics - Anfänger-Themen 3
A Switch Case Java Basics - Anfänger-Themen 5
Devil0s if vs. switch Java Basics - Anfänger-Themen 27
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
R Compiler-Fehler Auf selben Array in mehreren "cases" vom "Switch" zugreifen Java Basics - Anfänger-Themen 11
R Switch Werte außerhalb verwenden Java Basics - Anfänger-Themen 2
D Eine Variable in mehreren "switch" Java Basics - Anfänger-Themen 24
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
M Variablen Switch Bedingungen Java Basics - Anfänger-Themen 12
A ArrayList-iteration mit Prüfung auf instanceof durch switch case? Java Basics - Anfänger-Themen 13
P Switch Case - Fließkommazahl Java Basics - Anfänger-Themen 2
Z Switch umsetzung Java Basics - Anfänger-Themen 6
lulas[]args Fehlerhafte Switch Java Basics - Anfänger-Themen 6
lulas[]args Switch Schleife - orphaned case Java Basics - Anfänger-Themen 27
W "switch" Anweisung - Rechenzeichen? Java Basics - Anfänger-Themen 5
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
I Methoden Wochenkalendar switch anweisung fehlt Java Basics - Anfänger-Themen 4
C Switch Anweisung Frage Java Basics - Anfänger-Themen 8
R Switch/Case frage: Java Basics - Anfänger-Themen 12
Luk10 Frage zu Switch-Anweisung Java Basics - Anfänger-Themen 11
C Erste Schritte switch Anweisung geht nicht Java Basics - Anfänger-Themen 3
R Switch Abfrage: Found boolean but expected int? Java Basics - Anfänger-Themen 7
T Umschreiben von switch in if else und umgekehrt Java Basics - Anfänger-Themen 9
K Input/Output switch case - Parameterübergabe args[0] Java Basics - Anfänger-Themen 34
P Compilerfehler bei switch-case Java Basics - Anfänger-Themen 18
R 3 Datumsangaben sortieren mittels Switch Java Basics - Anfänger-Themen 9
J Switch mit if anweisung kombinieren Java Basics - Anfänger-Themen 2
D Kann man eine for-Schleife mit switch kombinieren? Java Basics - Anfänger-Themen 8
D Switch und Case Java Basics - Anfänger-Themen 3
F Ps to kW Konvertierer switch-case Problem Java Basics - Anfänger-Themen 4
F Datentypen Ganz simpler Taschenrechner mit switch Java Basics - Anfänger-Themen 10
M '-1' in switch anweisung Java Basics - Anfänger-Themen 2
T Parser mit switch "Weg" ausgeben? Java Basics - Anfänger-Themen 5
Q switch case hier möglich Java Basics - Anfänger-Themen 10
A Switch-Case Problem Java Basics - Anfänger-Themen 17
A Do While mit Switch Case Java Basics - Anfänger-Themen 2
Luk10 switch - Problem Java Basics - Anfänger-Themen 9
S char im switch Java Basics - Anfänger-Themen 16
berti99 Switch-Case || Problem... Java Basics - Anfänger-Themen 6
R Switch-Case Selektion Java Basics - Anfänger-Themen 13
O Switch-Case - Case 4 erhöhen Java Basics - Anfänger-Themen 9
P Problem mit switch-Funktion Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben