stringToInt und intToString

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
habe folgendes Problem: Ich muss einen String in ein Int Umwandeln und umgekehrt.

Darf aber außer length und charAt der Klasse String nichts verwenden. Hab hier schonmal einen Versuch von mir:

Code:
	public static int stringToInt(String s){
		int counter = 0;
			
		for(int i=0; i<s.length();i++){
			switch(s.charAt(i)){
			case "0": counter = 0;
			case "1": counter = 1;
			case 2: counter = 2;
			case 3: counter = 3;
			case 4: counter = 4;
			case 5: counter = 5;
			case 6: counter = 6;
			case 7: counter = 7;
			case 8: counter = 8;
			case 9: counter = 9;
			}
		}
		return counter;

Nur leider kommt da immer 0 zurück. Kann mir da bitte einer helfen?
 

mlux

Mitglied
Hi .. du schreibst:

Code:
case "0":

bzw.

Code:
case 2:

Beide Vergleiche werden nicht zum gewünschten Ergebnis führen, weil du:

1. in Java mit doppelten Anführungszeichen Strings identifizierst und somit ein char mit einem ganzen String vergleichen würdest, was Unsinn wäre

2. du mit einem Vergleich zu einer einfachen Zahl den ASCII-Wert des zu vergleichenden Zeichens mit der jeweiligen Zahl vergleichst.

richtig wäre der Vergleich mit einfach Anführungszeichen, sprich

Code:
case '1':

einzelne Zeichen werden in Java immer mit einfachen Anführungszeichen identifiziert.
Du kannst übrigens mit char's genauso rechnen wie mit int's. Wie schon erwähnt, wird dabei mit den ASCII-Werten der Zeichen gerechnet

Außerdem fehlen dir die "break"-Statements in deinem switch-case-Konstrukt ;)
 
G

Gast

Gast
Okay, viele Dank für die Hilfe. Mal schauen ob ich jetzt weiterkomme!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben