2015-02-13 5 views
6

Ich möchte ein Array mit aufeinanderfolgenden ganzen Zahlen füllen. Ich habe ein Array erstellt, die so viel Indizes enthält, wie der Benutzer eingibt:Wie fülle ich ein Array mit fortlaufenden Nummern

Scanner in = new Scanner(System.in); 
int numOfValues = in.nextInt(); 

int [] array = new int[numOfValues]; 

Wie fülle ich dieses Array mit fortlaufenden Nummern ab 1? Alle Hilfe wird geschätzt !!!

+0

Blick in 'IntStream # Bereich (Anfang, Ende)'. –

+1

Ich habe Sie abgelehnt, und das liegt daran, dass Sie Ihre Frage gestellt haben, ohne Ihren Versuch zu zeigen, Ihre Frage zu beantworten, Ihr Problem zu lösen und Ihre Missverständnisse zu klären. Ohne deinen Versuch zu zeigen, betrügst du dich selbst aus einer wertvollen Erfahrung und verhinderst, dass wir sehen, was du falsch machen könntest. Ich bin mir sicher, dass Ihre Fragen in Zukunft noch besser werden, aber denken Sie bitte daran, dass Sie in Zukunft Fragen haben werden. –

+0

Bitte verwenden Sie die richtigen Namenskonventionen. Mach 'numOfValues'. Klassen beginnen mit einem Großbuchstaben, nicht Variablen – Ascalonian

Antwort

27

Da Java 8

//        v end, exclusive 
int[] array = IntStream.range(1, numOfValues + 1).toArray(); 
//       ^start, inclusive 

Die range ist in Einheiten von 1. Der Javadoc- here ist.

Oder rangeClosed

//          v end, inclusive 
int[] array = IntStream.rangeClosed(1, numOfValues).toArray(); 
//        ^start, inclusive 
-1
Scanner in = new Scanner(System.in); 
int numOfValues = in.nextInt(); 

int[] array = new int[numOfValues]; 

int add = 0; 

for (int i = 0; i < array.length; i++) { 

    array[i] = 1 + add; 

    add++; 

    System.out.println(array[i]); 

} 
+0

Während dieser Code die Frage beantworten kann, würde das Bereitstellen eines zusätzlichen Kontexts bezüglich * wie * und/oder * warum * das Problem lösen, den langfristigen Wert der Antwort verbessern. –

3

Der einfache Weg ist:

int[] array = new int[NumOfValues]; 
for(int k = 0; k < array.length; k++) 
    array[k] = k + 1; 
0

Sie haben nun ein leeres Array

Sie müssen also jede Position iterieren (0 bis size-1) die nächste Nummer in der Platzierung Array.

for(int x=0; x<NumOfValues; x++){ // this will iterate over each position 
    array[x] = x+1; // this will put each integer value into the array starting with 1 
} 
2
for(int i=0; i<array.length; i++) 
{ 
    array[i] = i+1; 
} 
0

Eine weitere Sache nutzen. Wenn ich das gleiche mit Reverse tun will:

int[] array = new int[5]; 
     for(int i = 5; i>0;i--) { 
      array[i-1]= i; 
     } 
     System.out.println(Arrays.toString(array)); 
} 

bekam ich die normale Ordnung wieder ..

+0

* Du hast wieder die normale Bestellung .. * - So? Was können wir machen? – manetsus

Verwandte Themen