# Wie eine Int Zahl in die einzelnen Ziffern zerlegen?



## Guest (19. Nov 2005)

Hallo!

Ich möchte eine Zahl (z.B. 2213) in die einzelnen Ziffern zerlegen,
um sie später mathematisch zu verwursten.

Meine Frage, wie schaffe ich es eine eingelesene
Integer Zahl zu zerlegen?

Danke schonmal!


----------



## Illuvatar (19. Nov 2005)

Ganz simpel: in String parsen, toCharArray() aufrufen, und die chars wieder in ints parsen.

Wenn du warum auch immer ein komplizierteres gemurkse mit % und / willst, musst du ne Schleife machen. wert / 10 ist die linke ziffer, die tust du in ne liste, wert % 10 ist das rechts, mit dem machst du wieder in der schleife weiter, so lange bis wert / 10 == 0 ist.


----------



## Zubi81 (19. Nov 2005)

Eine etwas unschöne Methode in Java 1.5 (vielleicht weiss jemand wie es auch noch gehen kann):


```
public class Zahlspliting {
   
   public static void main(String[] args) {
      
      int i = 2213;
      String str = Integer.toString(i);
      
      int[] ia = new int[str.length()];
      
      int j = 0;
      for (char c : str.toCharArray()) {
         ia[j++] = Character.getNumericValue(c);
      }
      
      for (int k : ia) {
         System.out.println(k);
      }
      
   }
   
}
```

Gruss aus der Schweiz
Zubi


----------



## bygones (19. Nov 2005)

wenn du die Anzahl der Stellen weißt brauchst du den ersten Teil nicht....

```
int i = 123456789;
		int number = 0;
		while (i / Math.pow( 10, number ) > 1) {
			number++;
		}

		for ( int j = number - 1; j >= 0; j-- ) {
			System.out.println( ( int ) ( i / Math.pow( 10, j ) % 10 ) );
		}
```
ein möglicher Workaround

du könntest die Zahl auch als String nehmen und dann einfach zerlegen und auf jede Ziffer Integer.parseInt anwenden


----------



## Beni (19. Nov 2005)

Vielleicht was in die Richtung:

```
int x = 10*10;
int y = 2213;
return y/x - (y/(10*x))*10; // 22 - 20 = 2
```

Edit: ui, wollen hier viel antworten :shock:


----------



## Zubi81 (19. Nov 2005)

Beni hat gesagt.:
			
		

> Edit: ui, wollen hier viel antworten



und alle gleichzeitig. ;-)


----------



## bygones (19. Nov 2005)

jo und mal ganz herrisch sag ich - meine ist die beste *g


----------

