string nach int[]

Status
Nicht offen für weitere Antworten.

razoor

Mitglied
Ich möchte einen String
Code:
String bla ="123456789";
in ein integer array
Code:
int[] blub;
ziffernweise eintragen.

Wie kann man das umsetzen?

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???
 
Code:
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]);
 
Super! Das funktioniert prima. Danke!

Hab folgende Funktion draus gemacht:
Code:
  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);
  }

Ist das so ok, oder geht es besser?
 
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));

wünsche gutes gelingen

wayne
 
wayne hat gesagt.:
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:
Aber trotzdem Strings mit + verknüpfen! :x
Warum keinen StringBuffer/StringBuilder?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben