String nach int (in Java)

Hallo.
Bin „leider“ aus der C+±Welt…
Wie kann ich in Java einen
String nach int konvertieren?
z.B. habe ich folgenden Code:

[…]
String str = „20“;
int i_zahl;

//nun müsste ich hier die Konvertierung vornehmen:
i_zahl = (int)str + 1;

// muss 21 ausgeben:
System.out.println(i_zahl);

Wie kann ich aber Konvertieren?
Danke!

String str = „20“;
int i_zahl;

try{
i_zahl = new Integer(str).intValue()+1;
}catch (NumberFormatException nfe){
System.err.println(„Kann Zahl nicht umwandeln.“)
}

System.out.println("Mein int: "+i_zahl);

Bitte

Hi Denis.

i_zahl = new Integer(str).intValue()+1;

die Methode intValue() gibt es nicht!
Wahrscheinlich meinst Du:
getInteger() oder valueOf();??

Aber wie ist es, wenn ich ein String in Double/Float casten will???

Dieser Code klappt nicht:
try
{
float i_zahl;
i_zahl = new Float(str).valueOf();
return i_zahl;
}

Fehlermeldung:
die Methode valueOf() kennt er nicht in java.lang.Float!

Kannst Du mir da weiterhelfen?
Gruß
Fabian

Hallo Fabian,

es geht mit hilfe von WapperKlassen.

z.b. int i = Integer.parseInt(String);
oder float f = Float.parseFloat(String);
double d = Double.parseDouble(String);

m.f.g.
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas,
Dein Tipp funktionierte Bestens. Vielen Dank.
Aber nun habe ich 2 weitere Fragen:
1.) Wie kannst Du ein Int/Dbl nach STRING umwandeln?

2.) Ich möchte in meinem String alle
Anführungszeichen durch den String
„“" ersetzen. Wie kann ich dies
am sichersten hinbekommen??
z.B. Soll der String:
String s_temp = "Hallo. Hier ist ein "-Zeihen. Und weiteres folgt "-hier ";
soll so aussehen:
String s_temp = "Hallo. Hier ist ein "-Zeihen. Und weiteres folgt "-hier ";

Danke
Gruß
Fabian

Ergänzung der Frage!
*hehe
Lustig…
Der String von meine Frage wurde
automatisch ersetzt…
also z.B. will ich in
meinem String das Anführungszeichen "-Zeichen durch das Wort quot ersetzen. Wie geht es?
So…ich hoffe, es ist nicht so verwirrend nun.
Danke

Hallo Fabian

int und double kannst du mit Integer.toString(2); bzw Double.toString(1.5); um wandeln.

Wenn du in einem String die " ersetzten willst geht das am einfachsten so:

String a = new String(„xxxxx"yyyyy“);
StringTokenizer st = new StringTokenizer(a,"""); // Das " muß wahrscheinlich maskiert werden.
StringBuffer sb = new StringBuffer();
int i = st.countToken();
for(int j = 0; j [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas,
Dein Code funktionierte fas mit cut and paste :wink:
Vielen Dank…Aber es gibt dabei ein
Problem:
Wenn das letzte Zeichen im String ein -"- ist, dann wird es nicht ersetzt, da Deine
Schleife bis i-1 geht und das letzte Zeichen
packst Du rein, ohne zu überprüfen.
Ich habe da etwas rumgebastelt, aber jede Lösung brachte ihre eigene Probleme mit sich:
Wenn ich z.B. die for-Schleife bis j

Hallo Fabian,

der StringTokenizer kann bei mehrern " nicht eingesetzt werden da alle Trennzeichen auf einmal abgearbeutet werden. Wenn du das willts mußt du mit indexOf(""") arbeiten und dann die enstrechenden Substring entnehmen anschließend das ganz wieder zusammen bauen.

StringBuffer sb = new StringBuffer();
int i = 0;
int j = 0;
int l = a.length();
while (i -1)
{ String temp = a.subsrting(j,i);
j = i;
sb.append(temp);
sb.append(„quote“);
}
else
{ sb.append(a.substring(j,l));
}
}

so in etwa sollte es gehen.

Gruß Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]