Ich habe Probleme, das Array vollständig zu drucken. Der Code ist eingerichtet, um eine Sequenz von Zufallszahlen zu drucken, und die Anzahl der Zufallszahlenfolgen (1-12) soll von Benutzereingaben kommen. Allerdings kann ich nicht mehr als die erste Zufallszahl drucken. Ich habe es geschafft, die gesamte Sequenz vorher zu drucken, aber da dies eine Aufgabe ist und ich Arrays verwenden muss, funktioniert meine erste Methode nicht mehr.Array wird nicht vollständig gedruckt
import java.util.Scanner;
import java.util.Arrays;
public class Test4 {
public static void main(String[] args) {
int randomNumber;
int[] allNumbers = new int[12];
Scanner keyboard = new Scanner(System.in);
for (int i = 1; i <= allNumbers.length; i++) {
allNumbers[i] = (int) (Math.random() * 999 + 1);
System.out.print("How many random numbers? ");
randomNumber = keyboard.nextInt();
System.out.print("\n" + "Random numbers: ");
System.out.print(allNumbers[i] + " ");
{
System.out.print("\n");
System.out.print("\n" + "Even numbers: " + (allNumbers[i] % 2 == 0));
System.out.print("\n" + "Odd numbers: ");
break;
}
}
}
}
Neuer Code: Unfertige ...
* Update2: hinzugefügt Grenze keyboard.nextint.
"String-Literal ist nicht durch doppelte Anführungszeichen geschlossen" Fehler in dem Teil, wo ich versuche, Odds und Evens zu drucken.
* Update3: fester Fehler oben (verursacht durch Tippfehler).
Neues Problem: die sortierten Zahlen (ungerade/gerade) erscheinen, aber im falschen Format. Sie zeigen sich wie folgt aus: Odd: 475 Odd: 123 sogar: 62 auch: 680 auch: 870 ungerade: 457 usw. Ich möchte: Auch Zahlen: Anzahl Anzahl Anzahl Anzahl Ungerade Zahlen: Zahl nummernnummer
Suchen Sie auch nach einem Zähler, der die Anzahl der geraden/ungeraden Zufallszahlen zählt - gibt es eine Möglichkeit, all das in einem einzigen Ausdruck zu drucken? Oder muss ich zuerst eine system.out.print gefolgt von einem System-out-Druck f für den Zähler machen?
Aktualisiert Code:
import java.util.Scanner;
import java.util.Arrays;
public class Test7 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.print("How many random numbers?: ");
int size = keyboard.nextInt();
System.out.print("\n");
while (size>12 || size<1);
int[] randNum = new int[size];
for(int i = 0 ; i < randNum.length ; i++)
randNum[i] = (int)(Math.random() * 999 + 1);
System.out.println("Random numbers: " + Arrays.toString(randNum).replace("]", "").replace(",", "").replace("[", "") + "\n");
for(int i = 0 ; i < randNum.length ; i++)
if(randNum[i] % 2 == 0) {
System.out.print("\r" + "Even numbers: ");
System.out.print(randNum[i] + " ");
} else {
System.out.print("\r" + "Odd numbers: ");
System.out.print(randNum[i] + " ");
}
}}
, die wegen der Unterbrechung ist; Am Ende der for-Schleife gibt es aber noch mehr Semantikprobleme – Pooya