Hatte daran gedacht, es mit einer for-schleife umzusetzen und jedes String-Element einzeln in jedes Array-Element zu schreiben. Kenne nur die Funktion:
Code:
int i = Integer.parseInt(s);
Die konvertiert allerdings immer den ganzen String. Ich bräuchte etwas wie string, also wie beim array.
Oder gibt es schon fertige Funktionen, um einen String in ein int[] zu schreiben???
String bla ="123456789"
char[] tmp = bla.toCharArray(); //Zahlen in ein Character Array zerlegen
int[] blubb = new int[tmp.length]; //Mit dessen Größe das int Array erzeugen
for(int i=0;i < tmp.length;i++) {
blubb[i] = Integer.parseInt(String.valueOf(tmp[i])); //Mit String.valueOf(char) das jeweilige Charakter zum String konvertieren und dann zu int.
}
//test
System.out.println(blubb[0]);
System.out.println(blubb[1]);
System.out.println(blubb[2]);
public int[] stringToIntA(String s)
{
// Umwandeln eines String in ein int[]
char[] tmp = s.toCharArray(); //Zahlen in ein Character Array zerlegen
int[] array = new int[tmp.length]; //Mit dessen Größe das int Array erzeugen
for(int i=0;i < tmp.length;i++)
{
array[i] = Integer.parseInt(String.valueOf(tmp[i])); //Mit String.valueOf(char) das jeweilige Charakter zum String konvertieren und dann zu int.
}
return(array);
}
Und umgekehrt, also von int[] nach String würde ich es folgendermaßen machen:
Code:
public String intAToString(int[] array)
{
// Umwandeln eines int[] in einen String
String s = "";
for(int i=0;i < array.length;i++)
{
s += (String.valueOf(array[i])); //Mit String.valueOf(char) das jeweilige Charakter zum String konvertieren
}
return(s);
}
also zunächst mal, wie du dein problem löst, von int[] zu String zu kommen:
Code:
int[] array = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
String result = new String();
for( int i = 0; i < array.length; i++ )
result += String.valueOf(array[i]);
natürlich kannst du das auch mit einer do-while- bzw. einer while-schleife auch machen, die dann halt noch einen zähler besitzen muss, da du ja sonst nicht weißt, welche position des array's du auslesen möchtest.
zur lösung von erZ möchte ich noch sagen, daß bei größeren datenmengen oder unter bestimmten umständen sparsamkeit mit den resourcen beim programmieren angesagt ist. :meld: das heißt vor allem auch sparsamkeit mit dem speicher. durch aufrufen der methode String.toCharArray() wird aus den zeichen des strings ein neues char[] erzeugt, wodurch der speicherplatz für den string also ab diesem zeitpunkt erst mal doppelt besetzt wird. besser wäre es vielleicht die einzelnen zeichen direkt in der schleife auszulesen:
Code:
for( int i = 0; i < bla.length(); i++ )
blubb[i] = Integer.parseInt(String.valueOf(bla.charOf(i));
zur lösung von erZ möchte ich noch sagen, daß bei größeren datenmengen oder unter bestimmten umständen sparsamkeit mit den resourcen beim programmieren angesagt ist. :meld: