Ziffern tauschen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo!

Ich möchte gerne die Ziffern einer Zahl vertauschen.

Gegeben ist eine beliebig große Zahl und ich möchte gerne jede einzele Ziffer wechseln.

Beispiel:
gegeben: 13
erste Ziffer soll vertauscht werden, letzte erhalten. (zum Beispiel 43)

Das gleiche sollte auch mit anderen beliebig großen Zahlen funktionieren.

Ich habe hier im Forum einen Codeschnipsel gefunden und versucht, ihn anzupassen. Das Problem ist das zurückschreiben der einzelnen Ziffern. Ist im Code angemerkt.

Code:
    public static boolean Change(int zahl)
    {
        int iCur = 0;
        String str = Integer.toString(zahl);
        for (int i=0; i<str.length(); i++)
        {
            iCur = Character.getNumericValue(str.charAt(i));
            str.charAt(i) = (char) ++iCur; <==== Wie bewerkstellige ich das?
        }
        return true;
    }

Kann mir jemand weiterhelfen?

Vielen Dank schon mal!

MfG Heiko
 

The_S

Top Contributor
Am besten arbeitest du mit einem Char-Array

Code:
char[] zeichen = str.toCharArray();

Da kannst du dann die einzelnen Zeichen lesen und setzen.
 
G

Guest

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Am besten arbeitest du mit einem Char-Array

Code:
char[] zeichen = str.toCharArray();

Da kannst du dann die einzelnen Zeichen lesen und setzen.

Jup genau, mach aus deiner Zahl im Notfall vorher nen String und speicher dir diesen in einem Char-Array, dann kannst du beliebig auf die einzelnen Zahlen zugreifen und diese bei Bedarf auch ändern.
 
A

Antares

Gast
Das klappt so weit ganz gut!

Danke! :)

Neues Problem:

Wie wandle ich das Array wieder zurück in einen Integer um?

Ich habe jetzt:

Code:
char [] cChar = str.toCharArray();
int j = 56;
[...]
cChar[i] = (char) (j - '0');
[...]
j = (char) cChar <==== ?????
 
A

Antares

Gast
Ich bekomme nun folgenden Fehler beim Ausführen:

java.lang.NumberFormatException: For input string: "?"

Habe ich die Ziffern richtig in das Array eingefügt oder liegt da der Fehler?
 

The_S

Top Contributor
kA, wie machst du es denn jetzt? Normal einfach

Code:
char[position] = '2';
 
A

Antares

Gast
Wie oben im Code schon gepostet, habe ich meinen Int-Wert in einer Variablen gespeichert. Bei deiner geposteteten Lösung gibt es einen Fehler.

Code:
int iBlubb = 10;
char[i] = iBlubb; <=== Compiler Warning: Possible loss of precision

Daher hatte ich dann die Variante gewählt:

Code:
char[i] = (char) iBlubb;
bzw.
char[i] = (char) (j -'0');

Was dann den Fehler ein paar Posts höher hervorrief.
 

mephi

Bekanntes Mitglied
wie wärs mit?

Code:
char c[] = String.valueOf(target).toCharArray();
c[x-1] = String.valueOf(y).charAt(0);
String temp = String.valueOf(c);
 

The_S

Top Contributor
Du machst einen Grundlegenden Fehler. Wenn du ein int in ein char castest, dann bekommt das char das Zeichen, welches dem ASCII Wert des ints entspricht. Da liegt dein Fehler!
 
A

Antares

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Du machst einen Grundlegenden Fehler. Wenn du ein int in ein char castest, dann bekommt das char das Zeichen, welches dem ASCII Wert des ints entspricht. Da liegt dein Fehler!

ja, aber bitte WIE kann ich es umwandeln? Ich brauche doch nur die Syntax. In C++ wäre ich nach einer halben Stunde mit dem ganzen Programm fertig gewesen. Die Java-Syntax ist mir leider unbekannt. Ich habe schon einiges gelesen, aber alles hat nicht funktioniert. In C++ gibt's einen Befehl namens "atoi" (array to integer). Gibt es so was in Java auch? Wenn nicht, wie kann ich denn die Probleme nun lösen? :(

edit: Werde mir mal mephis Code anschauen...
 

The_S

Top Contributor
Wenn du in einem Char-Array einen char austauschen möchtest, welcher dir nur als integer vorliegt kannst du das z. B. so machen:

Code:
array[0] = String.valueOf(2).charAt(0);
 
A

Antares

Gast
Die Lösung von mephi hat funktioniert und deine wird dann wohl auch klappen. Also Danke an euch! :) :toll:

Bis zur nächsten Frage! :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
Marlena Bauer LCD Ziffern Java Basics - Anfänger-Themen 13
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
I Arabische Ziffern in römische Ziffern Java Basics - Anfänger-Themen 1
J Rekursive Methode - Ziffern einer Zahl ausgeben Java Basics - Anfänger-Themen 2
F Produkt d. Ziffern einer Zahl..?! Java Basics - Anfänger-Themen 5
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
C Datentypen String aus Ziffern erhöhen und als String zurückgeben Java Basics - Anfänger-Themen 16
P vokale konsonanten ziffern satzzeichen aus string lesen. hab kiene ahnung Java Basics - Anfänger-Themen 10
E String bestehend aus Ziffern in Zahl verwandeln Java Basics - Anfänger-Themen 3
W Methoden Ausgabe true wenn nur Ziffern <= 1 vorhanden Java Basics - Anfänger-Themen 9
J Skalierung von Ziffern Java Basics - Anfänger-Themen 10
K wiederholung von ziffern Java Basics - Anfänger-Themen 3
K double-Wert aus einzelnen Ziffern erzeugen Java Basics - Anfänger-Themen 7
T Ziffern anordnen Java Basics - Anfänger-Themen 3
P Arabische (indische) Ziffern Java Basics - Anfänger-Themen 4
M Methode für nur Ziffern?? Java Basics - Anfänger-Themen 3
B Auf die Ziffern einer Zahl zugreifen Java Basics - Anfänger-Themen 6
C Rekursive Methode - Ziffern in Zahl Java Basics - Anfänger-Themen 33
Haave EAN-13-Prüfziffer: Vermeiden von Eingaben mit mehr/weniger als 12 Ziffern Java Basics - Anfänger-Themen 3
G 9-stellige Zahl mit den Ziffern 1-9 Java Basics - Anfänger-Themen 2
D Einzelne Ziffern aus einem String Java Basics - Anfänger-Themen 10
N Wie kann ich Ziffern einer eingegenen Zahl adressieren? Java Basics - Anfänger-Themen 6
B Ziffern erkennung Java Basics - Anfänger-Themen 4
N Römische Zahlen in Arabische Ziffern umgewandeln Java Basics - Anfänger-Themen 18
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
G String auf Ziffern prüfen Java Basics - Anfänger-Themen 30
B Eingabe von Ziffern prüfen Java Basics - Anfänger-Themen 3
W Letzten beiden Ziffern eines BigIntegers bestimmen? Java Basics - Anfänger-Themen 20
M Römische Ziffern Java Basics - Anfänger-Themen 5
G Wie eine Int Zahl in die einzelnen Ziffern zerlegen? Java Basics - Anfänger-Themen 6
L Anzahl der Eingegebenen Ziffern ausgeben? Java Basics - Anfänger-Themen 7
M nur Ziffern dürfen eingetippt werden Java Basics - Anfänger-Themen 10
F Ziffern einer eingelesenen Zahl ausgeben bzw. bearbeiten Java Basics - Anfänger-Themen 4
S Anzahl der Ziffern einer Zahl Java Basics - Anfänger-Themen 10
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
GAZ String replace() Elemente tauschen Java Basics - Anfänger-Themen 13
tingc Variablenwerte tauschen Java Basics - Anfänger-Themen 4
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
X Array erstes und letztes Element tauschen Java Basics - Anfänger-Themen 2
J Innerhalb von Zeichenketten tauschen Java Basics - Anfänger-Themen 1
Y Objektinhalte tauschen Java Basics - Anfänger-Themen 9
Z Bitweise tauschen Java Basics - Anfänger-Themen 12
M ungerade zahlen eines arrays nach hinten tauschen Java Basics - Anfänger-Themen 13
M Werte tauschen Java Basics - Anfänger-Themen 10
R Umlaute mit Switch-Case tauschen Java Basics - Anfänger-Themen 26
T Inhalte zweier Variablen tauschen Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben