Java Arrays, bei positiven Zahlen rechts hinzufügen und bei negativen Zahlen nach links?

1 Antwort

Das Literal “1234” steht für einen String, kein Array. Zeichen kann man dem String via Konkatenationsoperator an-/vorhängen.

Beispiel:

String sentence = "world";
sentence = "Hello " + sentence;
sentence = sentence + "!";
System.out.print(sentence); // Hello world! 

Wenn man zu einem String ein char-Array haben möchte, kann man die toCharArray-Methode verwenden:

char[] letters = sentence.toCharArray();

Wenn du konkret ein Array erweitern möchtest, musst du ein neues Array mit einer neuen Größe anlegen.

Hier wird beispielsweise eine Variable angelegt, die auf ein Array für Ganzzahlen mit vier Einträgen verweist:

int[] numbers = new int[4];
numbers[0] = 2;
numbers[1] = 9;
numbers[2] = 7;
numbers[3] = 1;

int[] newNumbers = new int[5]; // new array
numbers = null; // remove array object from memory
numbers = newNumbers;

Der Wert der Variablen wird anschließend überschrieben, sodass sie auf ein neues, größeres Array (mit Kapazität für fünf Einträge) zeigt.

Wenn man nun noch die Einträge des alten Arrays behalten möchte, muss man sie in das neue Array kopieren, bevor man das alte Array löscht.

Beispiel:

newNumbers[0] = numbers[0];
newNumbers[1] = numbers[1];
// etc. ...

An dieser Stelle kann es hilfreich sein, mit einer Schleife zu arbeiten, die je Schleifenlauf einen Eintrag aus dem alten Array an eine Stelle des neuen Arrays packt.

Weitere Erklärungen zu Schleifen und Arrays findest du bei Bedarf im OpenBook Java ist auch eine Insel in den Kapiteln 2.6 und 4.1.

Für die Lösungsfindung zu deiner Aufgabe würde ich dir empfehlen, zuerst ein Struktogramm oder einen Programmablaufplan anzulegen. Sobald du damit einen Lösungsweg formuliert hast, kannst du ihn leicht zu Java-Code übersetzen.