2016-04-13 17 views
-1

Wie kann ich ein Integer-Array mit 20 Elementen erstellen und vom Benutzer ausfüllen lassen?Benutzereingabe, die ein Array auffüllt

Ich habe versucht, die folgenden:

import java.util.*; 

    class Selection{ 
    public static void main(String[] args){ 

    int x = 0; 
    int y = 0; 
    int a [] = new int [x]; 
    Scanner in = new Scanner (System.in); 

    while(a.length<21){ 
     System.out.print("Enter element number " + (y+1) + " : "); 
     x = in.nextInt(); 
     y++; 
    } 

    System.out.println(a); 
    } 
    } 

Antwort

0

Sie müssen die Array festlegen Größe auf 20:

int[] a = new int[20]; 

in a Dann Schleife für auf der Länge des Arrays basieren, lassen Sie die Benutzer zur Eingabe von Zahlen:

for (int i = 0; i < a.length; i++) { 
    System.out.print("Enter element number " + i + " : "); 
    a[i] = in.nextInt(); 
} 

Hier ist eine Überarbeitung Ihrer Klasse, die zeigt, wie man richtig erklären, füllen und drucken das Array:

import java.util.*; 

public class Selection { 
    public static void main(String[] args) { 
     int[] a = new int[20]; 
     Scanner in = new Scanner(System.in); 

     for (int i = 0; i < a.length; i++) { 
      System.out.print("Enter element number " + i + " : "); 
      a[i] = in.nextInt(); 
     } 

     // if you want to display the array after filling, there are 2 standard ways 
     for (int element : a) { 
      System.out.println(element); // displays each on a new line 
     } 

     // or, using Arrays.toString() (from the java.util package) 
     System.out.println(Arrays.toString(a)); 
    } 
} 
+0

Sie können mir sagen, wie Sie es in absteigende Reihenfolge umwandeln und es ausdrucken können? Ich kämpfe so hart mit diesem –

+0

Das Array muss geordnete Werte speichern? Oder müssen Sie das Array in umgekehrter Reihenfolge drucken? –

+0

Ich muss es in absteigender Reihenfolge drucken. Zum Beispiel, wenn der Benutzer es mit 5,4,7,2,9 füllte, sollte ich es als 9,7,5,4,2 drucken. Ich kann es in normaler Reihenfolge tun, indem ich sortiere, aber ich kann es in absteigender Reihenfolge tun –

0

Vor dem Popup-Array müssen Sie die Array-Größe einstellen. In diesem Fall müssen Sie das Array auf 20 setzen.

int[] a = new int[20]; 
0

Es gibt ein paar Dinge, die Sie vermissen. Sie möchten int[] a mit einer Größe von 20 wie int[] a = new int[20] initialisieren. Sie müssen int a[] in Ihre while Schleife legen, damit Sie die ganzen Zahlen speichern können.

Sieht aus wie Sie mit y sind laufen, so y wird als unser Element Index arbeiten, in welche speichern wir die int, dass die Benutzereingaben. Schließlich können Sie int[] a nicht so ausdrucken, müssen Sie entweder durchlaufen und drucken Sie jeden Wert an jedem Index selbst, oder verwenden Sie das Arrays.toString() Dienstprogramm, das zugegriffen werden kann, indem Sie import java.util.Arrays; an der Spitze Ihrer Datei zusammen mit Ihren anderen Importe. Wenn Sie das alles zusammensetzen, sollte Ihre Hauptmethode so aussehen:

public static void main(String[] args) { 

    int x = 0; 
    int y = 0; 
    int a[] = new int[20]; 
    Scanner in = new Scanner(System.in); 

    while (y < a.length) { 
     System.out.print("Enter element number " + (y + 1) + " : "); 
     x = in.nextInt(); 
     a[y] = x; 
     y++; 
    } 

    System.out.println(Arrays.toString(a)); 
} 
Verwandte Themen