Anhängen Integer-array-Elemente in Java
Ich habe ein array, sagen
int a[]={2,0,1,0,1,1,0,2,1,1,1,0,1,0,1};
Muss ich anfügen jeder der 5 benachbarten Elemente, und ordnen Sie Sie in einem neuen array b
mit length=(a.length/5);
- und ich möchte anfügen der 5 benachbarte Elemente so, dass ich habe:
int b[]={20101,10211,10101};
Ich brauche dies für verschiedene Länge der arrays, in den meisten Fällen mit der Länge der a
größer als 15.
Jede Hilfe wäre sehr geschätzt, ich bin Programmierung in Java.
Vielen Dank im Voraus.
Ist dieses Hausaufgaben?
Integer Verkettung nicht unbedingt sinnvoll-zum Beispiel, haben Sie sich überlegt, welches Verhalten Sie möchten, um zu definieren, ob die zahlen negativ sind?
Was wollen Sie passieren, wenn das erste element eines jeden 5-int-block ist eine 0? Sollte das Ergebnis 0,1,2,3,4 werden versehentlich 01234 oder 1234?
Ich brauche es 01234 License, da ich diese für die Codierung von Nachrichten, die ich brauche, um alle 5 Ziffern.
Siehe auch: stackoverflow.com/questions/2674707/...
Integer Verkettung nicht unbedingt sinnvoll-zum Beispiel, haben Sie sich überlegt, welches Verhalten Sie möchten, um zu definieren, ob die zahlen negativ sind?
Was wollen Sie passieren, wenn das erste element eines jeden 5-int-block ist eine 0? Sollte das Ergebnis 0,1,2,3,4 werden versehentlich 01234 oder 1234?
Ich brauche es 01234 License, da ich diese für die Codierung von Nachrichten, die ich brauche, um alle 5 Ziffern.
Siehe auch: stackoverflow.com/questions/2674707/...
InformationsquelleAutor Mohammad Sepahvand | 2010-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ziemlich unkompliziert:
Dank, das klappt einwandfrei, aber wenn ich den Umgang mit ganzen zahlen, beginnend bei 0, mit der oben genannten Methode, die ich verlieren die 0, z.B.: a={0,2,2,2,2,1,0,2,0,2}; bekomme ich b={2222,10202}; anstelle von b={02222,10202}; das ist es, was ich brauche. Jeder Weg zu stoppen, dass das passiert?
die Länge einer immer teilbar durch 5, also zum Glück, ist das kein problem.
Wenn Sie möchten, um die führenden Nullen, Sie können nicht speichern Sie diese als ganze zahlen. Die Verwendung von Strings statt.
Wenn Sie benötigen, um die führenden Nullen, dann ist b nicht ein
int[]
, weil die zahlen nicht haben, können führende Nullen. Sie könnten es zum Beispiel eineString[]
.InformationsquelleAutor Marcelo Cantos
Das klingt wie eine Hausaufgaben-Frage, also werde ich nicht geben Ihnen die vollständige Lösung, aber den grundlegenden Ablauf ist:
Beachten Sie auch, dass Sie benötigen, um zu überprüfen, dass der Eingang ein ist eigentlich eine Vielfaches von 5 in Länge.
InformationsquelleAutor Michael Aaron Safyan
Dieser arbeitet mit
(a.length % 5) != 0
, und hält führende Nullen (durch Speicherung von Ziffern inString
).Alternativ können Sie auch mit regex:
Grundsätzlich diese verwendet
Arrays.toString(int[])
Anhängen, werden alle Ziffern in eine langeString
, dann entfernt alle nicht-Ziffern\D
, dann nutzt\G
-verankert lookbehind nach split jeden.{5}
InformationsquelleAutor polygenelubricants
Naive Ansatz.
Drucken:
InformationsquelleAutor miku
Gibt es
InformationsquelleAutor Deepak Lamichhane