- #1
J
JediMB
Bekanntes Mitglied
Themenersteller
- Dabei seit
- 04.04.2003
- Beiträge
- 244
- Reaktionspunkte
- 0
Hallo zusammen!
Ich versuche mich weiter fleißig an JAVA und habe nun stolz mein BubbleSort Programm zum laufen gebracht - jedoch erst mit Einschränkungen.
Das Programm tut folgendes:
- es nimmt sich eine INTEGER Zahl, z.B. 5-stellig: 27143
- es zerlegt diese Zahl in einen Array
- dann sortiert es den Array aufsteigend
- der sortierte Array wird zu einer INT Zahl zusammen gesetzt und Ausgegeben: 12347
So. Jetzt mein Problem:
das ganze funktioniert nur, wenn ich die Anzahl der Stellen der Integer Zahl angebe, weil sonst der Ziffern-Array nicht definiert bzw. nicht initialisiert werden kann.
Die Funktion, die sich um die Zerlegung kümmer sieht so aus:
Hat jemand einen Tipp oder Lösungsansatz, wie man das umgehen könnte?
Oder ist das schlicht weg nicht möglich?? :-\
MfG 8)
P.S.: Die Frage, warum man ein solches Programm schreiben sollte ist sicherlich ein Diskussionspunkt, aber es ist halt einfach eine Aufgabe meiner Programmierungs Vorlesung gewesen (da aber in C) und ich habe sie dann mal versucht, auf JAVA zu übertragen. Man lernt ja doch ganz gut dabei...
Ich versuche mich weiter fleißig an JAVA und habe nun stolz mein BubbleSort Programm zum laufen gebracht - jedoch erst mit Einschränkungen.
Das Programm tut folgendes:
- es nimmt sich eine INTEGER Zahl, z.B. 5-stellig: 27143
- es zerlegt diese Zahl in einen Array
- dann sortiert es den Array aufsteigend
- der sortierte Array wird zu einer INT Zahl zusammen gesetzt und Ausgegeben: 12347
So. Jetzt mein Problem:
das ganze funktioniert nur, wenn ich die Anzahl der Stellen der Integer Zahl angebe, weil sonst der Ziffern-Array nicht definiert bzw. nicht initialisiert werden kann.
Die Funktion, die sich um die Zerlegung kümmer sieht so aus:
Code:
public static int [] Aufteilen( int nzZahl ) {
//* Funktion teilt eine übergebene INT Zahl (nzZahl) in einen Ziffern Array auf (nZahlen) und gibt diesen zurück.
(Die Länge der INT Zahl ist eine globale Konstante: nStellen) *//
int nZahlen[] = new int[nStellen];
int nLaenge = nZahlen.length - 1;
// Initialisierung des nZahlen Arrays (jeweils mit 0)
for ( int i = 0; i <= (nLaenge); i++) {
nZahlen[i] = 0;
}
// Ende der Initialisierung
// Aufteilung
do {
nZahlen[nLaenge] = (nzZahl % 10);
nzZahl /= 10;
nLaenge--;
} while (nzZahl != 0);
// Ende der Aufteilung
return nZahlen;
}
Hat jemand einen Tipp oder Lösungsansatz, wie man das umgehen könnte?
Oder ist das schlicht weg nicht möglich?? :-\
MfG 8)
P.S.: Die Frage, warum man ein solches Programm schreiben sollte ist sicherlich ein Diskussionspunkt, aber es ist halt einfach eine Aufgabe meiner Programmierungs Vorlesung gewesen (da aber in C) und ich habe sie dann mal versucht, auf JAVA zu übertragen. Man lernt ja doch ganz gut dabei...