# Zahl/Wort in ein Array zerlegen



## WIaimy (6. Nov 2010)

Gut'n  Abend zusammen!

Ich möchte eine Zahl vom Typ int oder long zerlegen und die einzelnen Ziffern in ein Array speichern. 
Die Zahl soll erst vom Benutzer eingegeben werden, nach der Zerlegung möchte ich weiter damit arbeiten. 
Zwei Fragen: 
ich kann die Zahl ja recht einfach per Modulo- und Ganzzahliger Division zerlegen und in das Array einspeichern. Aber wie bestimmt ich vorher die nötige Größe (also Länge der Zahl) des Arrays?

Gibt es zudem eine Möglichkeit, einen (beinahe) beliebig langen String in einzelne Zeichen zu zerlegen und diese einzeln in ein Array zu speichern? 

Wenn eure Idee dazu komplizierter ausfällt, freue ich mich über ein oder zwei Kommentare am Rand


----------



## gman (6. Nov 2010)

> einen (beinahe) beliebig langen String in einzelne Zeichen zu zerlegen und diese einzeln in ein Array zu speichern?




```
String zerlegterString = String.toCharArray("zuZerlegenderString");
```


----------



## WIaimy (6. Nov 2010)

dein Code gibt bei mir diese Fehlermeldung:



> The method toCharArray() in the type String is not applicable for the arguments (String)


----------



## Michael... (6. Nov 2010)

Die Methode ist keine statische Methode, richtig muss es heißen:

```
String zerlegterString = "zuZerlegenderString".toCharArray();
```


----------



## WIaimy (6. Nov 2010)

eine Verständnisfrage:
Warum deklariere ich "zerlegterString" als String, wenn ich danach die Funktion "toCharArray" benutze? 
Wenn ich so code:

```
String nichtZerlegt = "Das ist ein Test";
char[] zerlegt = nichtZerlegt.toCharArray();

for (char a : zerlegt){
		System.out.print(a + " ");}
```
macht der Compiler genau das, was ich will. 
Bei dem (korrigierten) Code von dir, Michael, kommt nun diese Fehlermeldung:


> Type mismatch: cannot convert from char[] to String


Was mache ich falsch? 

hat noch jemand eine Idee, wie ich (wie im ersten Post beschrieben) die Länge einer int / long - Zahl herausbekomme?


----------



## XHelp (6. Nov 2010)

WIaimy hat gesagt.:


> Bei dem (korrigierten) Code von dir, Michael, kommt nun diese Fehlermeldung:


Weil es eigentlich so heißen sollte:

```
char[] zerlegterString = "zuZerlegenderString".toCharArray();
```



> hat noch jemand eine Idee, wie ich (wie im ersten Post beschrieben) die Länge einer int / long - Zahl herausbekomme?


Was hälst du von:

```
int i = 1245452;
int length = String.valueOf(i).length();
```
?


----------



## WIaimy (6. Nov 2010)

okay, dann war das richtig, wie ich es geschrieben hatte.

Von "int length = String.valueOf(i).length();" halte ich jede Menge :toll: 
danke hierfür!


----------

