English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie teilen Sie Nullen und Nicht-Nullen in einem Integer-Array mit Java?

Um Nullen und nicht-null Elemente in einem Integer-Array zu trennen und an das Ende zu schieben, müssen Sie das Array durch das Reorganisieren, indem alle nicht-null Elemente in ihre Positionen in der Reihenfolge von Null aufwärts zugewiesen werden, neu anordnen. Anschließend werden Nullen von der letzten Position des Arrays bis zum Ende gefüllt.

Beispiel

Der folgende Java-Programm schiebt alle Nullen im Array an das Ende.

import java.util.Arrays;
import java.util.Scanner;
public class ZerosFromNonZeros {
   public static void main(String args[]){
      //Array von Benutzer lesen
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie die Größe des zu erstellenden Arrays ein: ");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Geben Sie die Elemente des Arrays ein: ");
      for(int i=0; i<size; i++{
         myArray[i] = sc.nextInt();
      }
      System.out.println("Das erstellte Array ist: ");+Arrays.toString(myArray));
      System.out.println("Ergebnisarray: ");
      int pos = 0;
      for(int i = 0; i < myArray.length;++{
         if(myArray[i] != 0){
            myArray[pos] = myArray[i];
            pos++;
         }
      }
      while(pos < myArray.length) {
         myArray[pos] = 0;
         pos++;
      }
      System.out.println("Das erstellte Array ist: ");+Arrays.toString(myArray));
   }
}

Ausgaberesultat

Geben Sie die Größe des zu erstellenden Arrays ein:
8
Geben Sie die Elemente des Arrays ein:
14
0
56
0
12
47
0
0
Das erstellte Array ist: [14, 0, 56, 0, 12, 47, 0, 0]
Ergebnisarray:
Das erstellte Array ist: [14, 56, 12, 47, 0, 0, 0, 0]

Legen Sie auf die gleiche Weise Nullen an den Anfang des Arrays, iterieren Sie die Elemente des Arrays rückwärts und ordnen Sie jedes nicht-null Element in der Reihenfolge der Positionen im Array an. Schließlich werden die restlichen Positionen mit Nullen gefüllt.

Durch das Reorganisieren des Arrays, indem alle nicht-null Elemente in ihre Positionen in der Reihenfolge von Null aufwärts zugewiesen werden, wird es neu angeordnet. Anschließend werden Nullen von der letzten Position des Arrays bis zum Ende gefüllt.

Beispiel

Der folgende Java-Programm schiebt alle Nullen im Array an den Anfang.

import java.util.Arrays;
import java.util.Scanner;
public class ZerosFromNonZeros {
   public static void main(String args[]){
      //Array von Benutzer lesen
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie die Größe des zu erstellenden Arrays ein: ");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Geben Sie die Elemente des Arrays ein: ");
      for(int i=0; i<size; i++{
         myArray[i] = sc.nextInt();
      }
      System.out.println("Das erstellte Array ist: ");+Arrays.toString(myArray));
      System.out.println("Ergebnisarray: ");
      int pos = myArray.length-1;
      for(int i = myArray.length-1; i>=0; i--{
         if(myArray[i] != 0){
            myArray[pos] = myArray[i];
            pos--;
         }
      }
      while(pos>=0) {
         myArray[pos] = 0;
         pos--;
      }
      System.out.println("Das erstellte Array ist: ");+Arrays.toString(myArray));
   }
}

Ausgaberesultat

Geben Sie die Größe des zu erstellenden Arrays ein:
8
Geben Sie die Elemente des Arrays ein:
14
0
56
0
12
47
0
0
Das erstellte Array ist: [14, 0, 56, 0, 12, 47, 0, 0]
Ergebnisarray:
Das erstellte Array ist: [0, 0, 0, 0, 14, 56, 12, 47]