Ich arbeite an einem Java-Programm, das Zufallszahlen generiert und dann in ein Array einfügt. Dann soll das Programm durch das Array gehen, die geraden und die ungeraden Zahlen in zwei neue Arrays schreiben und sie dem Benutzer präsentieren. Das Programm teilt dem Benutzer auch mit, wie viele ungerade und gerade Zahlen im Array vorhanden sind.Java - ArrayIndexOutOfBoundsException
Ich bekomme "ArrayIndexOutOfBoundsException" beim Versuch, diesen Code zu kompilieren. Kann mir jemand sagen warum?
import java.util.Scanner;
import java.util.Random;
import java.util.Arrays;
class Randomnumbers
{
public static void main (String[] args)
{
Random random;
int i;
int numberOfNumbers=0;
int upperRange=999;
int lowerRange=0;
int randomNumber=0;
int even=0;
int odd=0;
int currentOdd=0;
int currentEven=0;
int[] oddNumbers=new int[0];
int[] evenNumbers=new int[0];
Scanner in = new Scanner(System.in);
System.out.println("Please enter how many random numbers you want(0-999)");
numberOfNumbers=in.nextInt();
int[] numbers=new int[numberOfNumbers];
random = new Random();
for (i = 0; i < numbers .length; i++){
randomNumber = random.nextInt(upperRange-lowerRange) + lowerRange;
numbers[i] = randomNumber;
}
System.out.println("\n" +"These are the random numbers:");
System.out.println(Arrays.toString(numbers));
for(i=0; i < numbers .length; i++){
if((numbers[i] % 2) == 0)
{
even = even + 1;
}
else
{
odd = odd + 1;
}
}
evenNumbers=new int[even];
oddNumbers=new int[odd];
for(i=0; i < numbers .length; i++){
if((numbers[i] % 2) == 0)
{
evenNumbers[i]=numbers[i];
}
else
{
// this is the code line the compiler does not like:
oddNumbers[i]=numbers[i];
}
}
System.out.println("The following " +even +" numbers are even:");
System.out.println(Arrays.toString(evenNumbers));
System.out.println("The following " +odd +" numbers are odd:");
System.out.println(Arrays.toString(oddNumbers));
}
Bitte fügen Sie den Stacktrace. Sie führen jedoch Ihre Schleife aus, um die geraden/ungeraden Zahlen in ihre Arrays als 'i
KevinO
Compiler kann nicht beschweren, wenn es eine Ausnahme ist – Sanj
Das wird nicht einmal kompilieren: für (i = 0; i
pczeus