umwandlung biginteger in int[]

Status
Nicht offen für weitere Antworten.

andreas2505

Bekanntes Mitglied
hallo,

ich habe folgendes problem. Ich erzeuge mit einer methode ein int[] mit 16 Einträgen, welches mit zufallszahlen zwischen 0 und 255 aufgefüllt wird.

danach wandle ich das int[] in ein BigInteger um, was auch ohne probleme klappt.

Nun möchte ich den BigInteger wieder in genau dasselbe int[] umwandeln, was nicht klappt.
Ich habe es versucht, in dem ich den BigInteger zuerst in Bytes umwandle und dann in int zahlen, aber das klappt einfach nicht.
Wie kann ich das machen?
 

faetzminator

Gesperrter Benutzer
du hast einen BigInteger und mehrere ints? Wie soll man das verstehen? Kannst du den Code der Umwandlung der ints in einen BigInteger zeigen?
 

andreas2505

Bekanntes Mitglied
also das programm ist etwas komplexer. Aber diese Umwandlung brauche ich halt.

Also ich erzeuge einen int[] mit zufallszahlen (Code spielt hier ja keine Rolle),

dann wandle ich ihn in einen BigInteger um:

Java:
public BigInteger intarrayINbiginteger(int[] e){
    String s = "";
    for (int i=0; i<e.length; i++) {
        s = s + Integer.toString(e[i]);}
    BigInteger b = new BigInteger(s);
    return b;
}

das klappt auch, aber nun die umkehrung, die klappt nicht.

Ich will jetzt wieder, dass aus dem BigInteger der selbe int[] entsteht.
 

faetzminator

Gesperrter Benutzer
Entweder musst du mit 0 auffüllen (immer auf 3 Stellen) oder du musst immer +100 addieren, ansonsten wird das nichts.
 

andreas2505

Bekanntes Mitglied
also muss ich die int werte des int array beim umwandeln in biginteger mit 0 auffüllen oder +100 nehmen, wenn ich sie in den biginteger umwandel?

aber das ist ja eigentlich schlecht. geht es nicht, dass ich anders auf die int werte komme wenn ich den BigInt habe, oder werden beim umwadeln in bytes immer 3 zeichen genommen?
 

faetzminator

Gesperrter Benutzer
Nein, bei Zahlen zwischen 0 und 255 hast du je nach Zahl 1 bis 3 Stellen, und mit diesen kannst du nicht arbeiten. Entweder du addierst jeweils 0 bis auf 3 Stellen, oder du zählst 100 dazu, so hast du immer drei Stellen (10^2 <= 0+100 | 255+100 < 10^3).
Habe schnell etwas (unschönen) Code geschrieben, welcher funktioniert (*1 mit +100, *2 mit Hinzufügen von Nullen):
Java:
public static BigInteger intArrayInBigInteger1(int[] e) {
    String s = "";
    for (int i : e) {
        s = s.concat(Integer.toString(i + 100));
    }
    return new BigInteger(s);
}

public static BigInteger intArrayInBigInteger2(int[] e) {
    String s = "";
    for (int i : e) {
        String val = Integer.toString(i);
        while (val.length() < 3) {
            val = "0".concat(val);
        }
        s = s.concat(val);
    }
    return new BigInteger(s);
}

public static int[] bigIntegerInIntArray1(BigInteger e) {
    String val = e.toString();
    while (val.length() % 3 != 0) {
        val = "0".concat(val);
    }
    int[] ret = new int[val.length() / 3];
    for (int i = 0; i < ret.length; i++) {
        ret[i] = Integer.parseInt(val.substring(i * 3, (i + 1) * 3)) - 100;
    }
    return ret;
}

public static int[] bigIntegerInIntArray2(BigInteger e) {
    String val = e.toString();
    while (val.length() % 3 != 0) {
        val = "0".concat(val);
    }
    int[] ret = new int[val.length() / 3];
    for (int i = 0; i < ret.length; i++) {
        ret[i] = Integer.parseInt(val.substring(i * 3, (i + 1) * 3));
    }
    return ret;
}

Edit: Der Grund ist, dass du das Wissen benötigst, wo du trennen musst. In XML hast du Tags, in CSV trennst du durch , oder ;... und hier hast du nichts. Also kannst du nur auf eine fix definierte Länge die Zahlen wieder trennen.
 
Zuletzt bearbeitet:

andreas2505

Bekanntes Mitglied
also eine fehlermeldung kommt nicht. Es wandelt halt nur falsch um.

Hier mein code:

den für die umwandlung von int[] in bigIntger habt ihr ja schon. Nun hier für das umgekehrte:

Java:
public int[] bigintegerINintarray(BigInteger b){

return bytearrayINintarray(bigintegerINbytearray(b));}

Java:
public byte[] bigintegerINbytearray(BigInteger b){
byte[] h = b.toByteArray();
return h;}

Java:
public int[] bytearrayINintarray(byte[] b){
int[] i = new int[b.length];
for(int k=0; k<b.length; k++){
i[k] = (int) b[k];}
return i;}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
M Operatoren Umwandlung div. Operatoren Java Basics - Anfänger-Themen 7
B Date - Umwandlung OffsetDateTime Java Basics - Anfänger-Themen 11
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
J Umwandlung for-Schleife Java Basics - Anfänger-Themen 10
R Fehler bei ASCII Char zu Int Umwandlung Java Basics - Anfänger-Themen 2
M Umwandlung von StringArray in String Java Basics - Anfänger-Themen 2
P Umwandlung in Javacode Java Basics - Anfänger-Themen 10
M Umwandlung String zu int Java Basics - Anfänger-Themen 2
M Umwandlung von Array zu ArrayList Java Basics - Anfänger-Themen 7
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
L Interface JOptionPane Umwandlung Java Basics - Anfänger-Themen 10
A Char Bytes Umwandlung und Darstellung Java Basics - Anfänger-Themen 3
K Datentypen Umwandlung einer Textfeldeingabe in einen binären Wert Java Basics - Anfänger-Themen 2
G Umwandlung in verschiedene Zahlensysteme Java Basics - Anfänger-Themen 4
L Umwandlung von String to Int funktioniert nciht Java Basics - Anfänger-Themen 3
V Methoden Umwandlung in generische Methode Java Basics - Anfänger-Themen 8
J Datentypen Umwandlung von Arraylist in ein StringArray Java Basics - Anfänger-Themen 10
J Datentypen Umwandlung von Kommazahl in Punktzahl Locale DE auf US Java Basics - Anfänger-Themen 5
A Umwandlung einer Datei ins int Java Basics - Anfänger-Themen 26
A Umwandlung gcj -> java Java Basics - Anfänger-Themen 4
F Umwandlung vom Dezimalsystem Java Basics - Anfänger-Themen 7
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
N Umwandlung String - double für mehrdimensionalen array Java Basics - Anfänger-Themen 2
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
S Umwandlung von Integer zu String Java Basics - Anfänger-Themen 4
F Datentypen Umwandlung int in String Java Basics - Anfänger-Themen 6
Screen Kurze Frage Umwandlung von Zahlen Java Basics - Anfänger-Themen 2
A Umwandlung int[][][] in String Java Basics - Anfänger-Themen 7
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
J Wrapperklasse und ihre Umwandlung Java Basics - Anfänger-Themen 2
Screen Erklärung von der Umwandlung von .class in .jar o. .exe ! Java Basics - Anfänger-Themen 5
Semox Umwandlung von Sonderzeichen in HTML-Datei mit Ausgabe Java Basics - Anfänger-Themen 7
B Umwandlung gemäß Package-Anweisung Java Basics - Anfänger-Themen 5
$ Umwandlung von Schleifen in andere Java Basics - Anfänger-Themen 4
S Problem bei Umwandlung ins Hexadezimalsystem Java Basics - Anfänger-Themen 2
D Umwandlung char -> dezimalzahl und ausgabe als int Java Basics - Anfänger-Themen 5
G Umwandlung Java Basics - Anfänger-Themen 7
A String to Char Umwandlung. Java Basics - Anfänger-Themen 7
R "Umwandlung" SQL-Result in Objekt Java Basics - Anfänger-Themen 5
H Umwandlung von Zahlensystemen Java Basics - Anfänger-Themen 7
E Umwandlung von std, min und sek Java Basics - Anfänger-Themen 2
G Probleme mit Colour und Color, umwandlung möglich? Java Basics - Anfänger-Themen 5
J Umwandlung von Integer in Char Java Basics - Anfänger-Themen 8
Z Problem bei sql-date-Umwandlung Java Basics - Anfänger-Themen 2
T String als Array und Umwandlung in Char Java Basics - Anfänger-Themen 7
R Umwandlung Java Basics - Anfänger-Themen 35
G Frage zu Umwandlung char[] in string[] bzw. Schleifen Java Basics - Anfänger-Themen 9
S Umwandlung eines Character-Streams in ein Image Java Basics - Anfänger-Themen 17
N x.toString(x); umwandlung von long in String Java Basics - Anfänger-Themen 3
F Umwandlung von String in Integer Java Basics - Anfänger-Themen 3
S Umwandlung von int in String Java Basics - Anfänger-Themen 3
J Warum funktioniert meine Umwandlung nicht? Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
E Division von BigInteger soll Gelitkommazahl liefern Java Basics - Anfänger-Themen 46
K Rekursive Methode für Fakultät mit BigInteger Java Basics - Anfänger-Themen 10
D Wie vergleiche ich zwei BigInteger Werte? Java Basics - Anfänger-Themen 1
TheSorm erstellen von BigInteger Java Basics - Anfänger-Themen 24
A Long in BigInteger Java Basics - Anfänger-Themen 3
R BigInteger zusammensetzen Java Basics - Anfänger-Themen 8
G Methoden BigInteger Zufallszahlen erzeugen Java Basics - Anfänger-Themen 5
G Datentypen BigInteger */: Int Java Basics - Anfänger-Themen 5
B BigInteger , rechen problem Java Basics - Anfänger-Themen 8
M BigInteger mit Decimalzahlen? Java Basics - Anfänger-Themen 5
R Bestimmte Stellen eines BigInteger Java Basics - Anfänger-Themen 7
T String spliten und in BigInteger umwandeln Java Basics - Anfänger-Themen 3
L Compiler-Fehler Fehler bei BigInteger Java Basics - Anfänger-Themen 3
A wurzel von bigInteger Java Basics - Anfänger-Themen 4
A Problem mit BigInteger und Schleife Java Basics - Anfänger-Themen 13
A Schleife mit BigInteger Java Basics - Anfänger-Themen 18
P Methode BigInteger-Array übergeben als Referenz Java Basics - Anfänger-Themen 6
P Bits bei BigInteger abprüfen Java Basics - Anfänger-Themen 2
D BigInteger potenzieren und anschließend Modulo Java Basics - Anfänger-Themen 7
A BigInteger? Java Basics - Anfänger-Themen 4
K String(ASCII) to BigInteger Java Basics - Anfänger-Themen 2
Z BigInteger Methoden und deren Übergabe Java Basics - Anfänger-Themen 3
G Quersumme berechnen (BigInteger) Java Basics - Anfänger-Themen 3
G array (BigInteger) durchsuchen Java Basics - Anfänger-Themen 2
G BigInteger Java Basics - Anfänger-Themen 6
I BigInteger + Array Java Basics - Anfänger-Themen 4
B BigInteger: Wert per Methode zuweisen Java Basics - Anfänger-Themen 3
G BigInteger zu int Java Basics - Anfänger-Themen 2
Linad Die Methode pow in der BigInteger Klasse Java Basics - Anfänger-Themen 4
N String zu BigInteger Java Basics - Anfänger-Themen 14
G BigInteger und Modulo Java Basics - Anfänger-Themen 3
M brauche Hilfe zu BigInteger Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben