Case Integer problem

xyZman

Bekanntes Mitglied
Hi COmmunity !
Ich habe einen Case
01
02
03
...
Java:
case 06: IO.println("six "); break;
case 07: IO.println("seven "); break;
case 08: IO.println("eight "); break;
Bei 08 komischerweise sagt er mir das die "Integer number too large" ist. bei 01-07 aber nicht
Woran liegt es ?

gruß
F
 

Marco13

Top Contributor
08 wird durch die führende 0 als Oktalzahl interpretiert, und da gehen die Ziffern nur bis 7. Lass' die führenden Nullen weg.
 

Der Müde Joe

Top Contributor
Was heisst: Wenn eingabe 08....

Das ist mal ein String bestehend aus zwei chars. '0' und '8'.
Als int ist 8 einfach acht. Da gibts es aber im Source code unterschiede:
02 --> im Octalsystem
0x2 --> Hex
8 --> dezimalsystem.

also Acht wäre:
010 --> oct
0x8 --> hex
8 --> dec

EDIT:
Unglücklicheweise gibt es keinen String switch (noch nicht).
Wie du die Eingabe interpretierts ist was anderes.
zB eine Enum mit Eight("08") und einen enum-switch....
 

xyZman

Bekanntes Mitglied
wäre es am einfachsten es mit Enum umzusetzen ?
oder gibt es einen leichteren Weg für 00=twelve - 23 = eleven namen festzulegen bei eingabe einer Zahl z.b 09 =nine abzurufen ?
 

Andi_CH

Top Contributor
Du kannst Strings einlesen und mittels compare mit "08" vergleichen.
Das geht allerdings nicht in einem switch - case construct sondern nur mit if - then - else if ....
(Da haben die Javaentwickler IMHO etwas verpennt)

oder was einfacher ist;

Spar dir doch die störenden führenden Nullen im Code - der user kann 08 oder 8 oder 0000008 eingeben - du wirst eine 8 einlesen und vergleichst mit 8. Lösch einfach die führenden 0 in deinem Code und vermutlich funktioniert es dann schon.

Wenn du allerdings darauf bestehst dass genau "08" eingegeben wird, musst du String einlesen.

Ach ja noch was - wir reden hier von Zahlen und da gilt eigentlich

8 == 08 == 0008 == 0000000000000008

dass das bei Java nicht so ist und eine fühende 0 das Zahlensystem wechselt wusste ich nicht aber ist eine Horrorvorstellung

Kennt Java enums? Na ja, nicht so wirklich, da ist ein erheblicher overhead dabei - die Idee mit den String-Array ist besser geeignet.
 
Zuletzt bearbeitet:

xyZman

Bekanntes Mitglied
Ohman danke Andy.. : )
Wenn ich die 08 jetzt ausgeben möchte zeigt er mir natürlich nur die 8 an.
Kann man da tricksen ?
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
>Kennt Java enums?

Naja...man kann da schon sehr schöne Dinge basteln....
Java:
import java.util.EnumMap;


public class Foobar {

	static EnumMap<Hour, String> hours = new EnumMap<Foobar.Hour, String>(Hour.class);
	static {
		hours.put(Hour.ONE, "eins");
		hours.put(Hour.TWO, "zwei");
	}

	enum Hour {
		ONE("01"), TWO("02");

		private final String number;

		private Hour(String number) {
			this.number = number;
		}

		public static Hour get(String number) {
			if (ONE.number.equals(number)) {
				return ONE;
			} else if (TWO.number.equals(number)) {
				return TWO;
			}
			return null;
		}
	}

	static String getString(Hour hour) {
		return hours.get(hour);
	}

	public static void main(String... _) {
		String userInput = "01";
		System.out.println(getString(Hour.get(userInput)));
		userInput = "02";
		System.out.println(getString(Hour.get(userInput)));
		userInput = "03";
		System.out.println(getString(Hour.get(userInput)));
	}
}
 

Andi_CH

Top Contributor
Das Stichwort war "overhead" - ja natürlich ist der enum ganz nett aber für so etwas einfaches tuts ein StringArray

Java:
String format = "%02d";
System.out.println(String.format(format, 8));
System.out.println(String.format(format, 11));

08
11
 

Landei

Top Contributor
@Joe: besser

Java:
        public static Hour get(String number) {
            for(Hour hour : hour.values()) { 
              if (hour.number.equals(number)) {
                return hour;
              }
            }
            return null;
        }
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
D Switch Case Methode aufrufen Java Basics - Anfänger-Themen 3
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
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
1 Switch Case Java Basics - Anfänger-Themen 3
T Alternative für switch case Java Basics - Anfänger-Themen 1
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
R contains ist case-intrensive Java Basics - Anfänger-Themen 7
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
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
K In einem Case gefüllte Arraylist in einer anderen Case ausgeben Java Basics - Anfänger-Themen 2
S Switch-Case für eine Array-Zuordnung Java Basics - Anfänger-Themen 5
S switch und case Java Basics - Anfänger-Themen 1
D Klassen Problem bei switch-case? Java Basics - Anfänger-Themen 2
B Wiederholen einer if/switch-case Schleife Java Basics - Anfänger-Themen 9
F Case in While? Java Basics - Anfänger-Themen 6
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
J Erste Schritte Falscher case wir ausgeben Java Basics - Anfänger-Themen 11
T switch case und continue Java Basics - Anfänger-Themen 5
D switch case Code Java Basics - Anfänger-Themen 3
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
J swich case-default Java Basics - Anfänger-Themen 2
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
A Switch Case Java Basics - Anfänger-Themen 5
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
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
F Geht in alle Case rein, warum?? Java Basics - Anfänger-Themen 12
lulas[]args Switch Schleife - orphaned case Java Basics - Anfänger-Themen 27
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Switch/Case frage: Java Basics - Anfänger-Themen 12
Spin JUNIT Test Case - Problem bei testen Java Basics - Anfänger-Themen 2
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
P orphaned case macht probs Java Basics - Anfänger-Themen 3
D Switch und Case Java Basics - Anfänger-Themen 3
F Ps to kW Konvertierer switch-case Problem Java Basics - Anfänger-Themen 4
E Probleme mit Case Java Basics - Anfänger-Themen 18
Q switch case hier möglich Java Basics - Anfänger-Themen 10
A Switch-Case Problem Java Basics - Anfänger-Themen 17
T switchcase innerhalb Schleife: von case-Fall aus Schleife beenden Java Basics - Anfänger-Themen 3
A Do While mit Switch Case Java Basics - Anfänger-Themen 2
S Pattern.matches mit Ignore Case Java Basics - Anfänger-Themen 2
berti99 Switch-Case || Problem... Java Basics - Anfänger-Themen 6
R Switch-Case Selektion Java Basics - Anfänger-Themen 13
F Upper Case Übung Java Basics - Anfänger-Themen 10
O Switch-Case - Case 4 erhöhen Java Basics - Anfänger-Themen 9
M Frage zu Mehrfachauswahl mit switch ... case Java Basics - Anfänger-Themen 3
R Umlaute mit Switch-Case tauschen Java Basics - Anfänger-Themen 26
J switch-case Java Basics - Anfänger-Themen 19
G Switch-Case harmoniert nicht mit Random-Zahl Java Basics - Anfänger-Themen 3
T Arrayauswahl über Case-Anweisung Java Basics - Anfänger-Themen 11
I If abfrage in switch case einbauen Java Basics - Anfänger-Themen 5
G Verschachtelte Case Fallunterscheidung Java Basics - Anfänger-Themen 7
R Erlaubte Selektoren bei Switch-Case Java Basics - Anfänger-Themen 2
Silas89 String in switch - case Java Basics - Anfänger-Themen 19
G Switch Case Java Basics - Anfänger-Themen 8
G zu blöd für switch case? Java Basics - Anfänger-Themen 6
A wie durch klicken regeln dass nächster "case" auge Java Basics - Anfänger-Themen 15
G switch-case mit Strings Java Basics - Anfänger-Themen 7
T Switch Case Java Basics - Anfänger-Themen 6
A Aus switch case an den Anfang? Java Basics - Anfänger-Themen 7
P switch-case Konstrukt auch mit case i < 6: s = 6 ? Java Basics - Anfänger-Themen 10
G switch-case mit Fehler auf return-Wert-Typ Java Basics - Anfänger-Themen 2
S Zählen mit switch case Java Basics - Anfänger-Themen 8
J Aufgabe mit Arrays, Schleifen & Switch/Case Java Basics - Anfänger-Themen 7
M switch-case und array Java Basics - Anfänger-Themen 3
O case-befehl Java Basics - Anfänger-Themen 4
C switch-case mit bedingungen? Java Basics - Anfänger-Themen 5
C Switch / Case Problem, break funktioniert nicht! Java Basics - Anfänger-Themen 3
J Switch Anweisung: Case "Wert1" bis "Wert2&quo Java Basics - Anfänger-Themen 2
D switch case must be constant expression Java Basics - Anfänger-Themen 7
G CASE-Anweisung Java Basics - Anfänger-Themen 8
G ersatz für header.h in java ? swict-case kanns nicht richtig Java Basics - Anfänger-Themen 6
A Switch Case Java Basics - Anfänger-Themen 4
G Mit Switch/Case Zahlen zu Array hinzufügen Java Basics - Anfänger-Themen 14
G File Name Case Sensitive Java Basics - Anfänger-Themen 2
M HILFE bei switch & case Java Basics - Anfänger-Themen 15
A switch case mit einem String Java Basics - Anfänger-Themen 4
M Was ist an dieser case-Anweisung falsch? Java Basics - Anfänger-Themen 2
M switch case Java Basics - Anfänger-Themen 5
L case und string funxt nicht, warum das?? Java Basics - Anfänger-Themen 5
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
sserio printf integer formatting Java Basics - Anfänger-Themen 17
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen


Oben