Zahl in Ihre Einzelteile zerlegen?

thadre

Mitglied
Ich habe eine Zahl z.B: zipCode, die aus der Datenbank kommt. Nun möchte ich die Zahl so zerlegen, dass die Postleitzahl 12345 dann 1 zipCode1, 2 zipCode2, 3 zipCode3 usw ist.
Weiß jemand wie das geht?

Vielen Dank
 
Hi thadre,

könntest Du kurz genauer beschreiben was Du möchtest, z.B. "Zahl" wird zu "Ergebnis" etc.? Ich verstehe die Problematik noch nicht (ich glaube das hat außerdem auch nix mit J2EE/JEE zu tun).

Danke & Grüße

Tim
 
Also ich entwickle in J2EE dehalb hab ichs hier reingeschrieben ;)
Ich bekomme aus der Datenbank zum Beispiel eine Postleitzahl und 12345
Jetzt möchte ist das jede dieser 5 Zahlen für sich alleine steht, also die 1 für sich, die 2 für sich und die 3 für sich.
Hoffe verstehst wie ich das meine.

Danke
 
Sicherlich gäbe es noch andere Möglichkeiten, aus der Hüfte geschossen funktioniert diese hier schon mal:

Code:
public static void main(String[] args) {

		StringBuffer buffer = new StringBuffer();
		buffer.append(1234);
		char[] charArray = buffer.toString().toCharArray();
		for (int i = 0; i < charArray.length; i++) {
			char c = charArray[i];
			System.out.println(c);
		}

	}

Gruß Tim
 
Java:
public class TestKlasse {

	public static void main(String[] args) {

		// Deine Zahl
		int zahl = 12345;
		// Zahl in String convertieren
		String s = String.valueOf(zahl);
		// Array anlegen das so groß ist wie deine zahl lang
		int[] zahlen = new int[s.length()];

		// Zahlen in ein Array einfügen
		for (int i = 0; i < zahlen.length; i++) {
			zahlen[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
		}

		// Zahlen ausgeben
		for (int j = 0; j < zahlen.length; j++) {
			System.out.println(zahlen[j]);
		}

	}

edit: da war wohl jemand schneller
 
Zuletzt bearbeitet:
Wenn es wirklich um einzelne Ziffern geht ist man mit mod 10 und ganzzahliger Division durch 10 wahrscheinlich wesentlich performanter...

Java:
List<Integer> digits = getDigits(new ArrayList<Integer>());

public List<Integer> getDigits(Integer number, List<Integer> digits) {

  if (number < 10) {
    digits.add(number);
    return digits;
  }

  digits.add(number % 10);
  return getDigits(number / 10, digits);
}

Achtung, das ist VHIDT Code (vom Hirn in die Tasten) - also eher Pseudocode... aber das Prinzip sollte deutlich werden. Probleme ebenso: vermtl. ist ein Stack als Speicher sinnvoller, da mit der Liste die Reihenfolge verkehrt ist (letzte Ziffer an erster Stelle).

Gruß
Ollie
 

Neue Beiträge

Zurück