错误';'预期在数组定义中;已被占用

时间:2013-07-10 01:52:04

标签: java arrays function

public class AssignmentChapter8
{
    public static void main(String[] args)
    {
        int randomNumbers = new int[100];
        int counter = 0;

        while(counter < randomNumbers.length)
        {
            randomNumbers[counter] = (int)(Math.random() * 25);
            counter++;
        }

        int oddNumbers[] = new int[100];
        oddNumbers[] = getOddNumbers(randomNumbers);
        int evenNumbers[] = new int[100];
        evenNumbers[] = getEvenNumbers(randomNumbers);

        System.out.println("The odd numbers are:");

        for(int k = 0; k < oddNumbers.length; k++)
            System.out.print("\t" + oddNumbers[k]);

        System.out.println("The even numbers are:");

        for(int l = 0; l < evenNumbers.length; l++)
            System.out.print("\t" + evenNumbers[l]);
    }
    public static int getOddNumbers(int randomNumbers)
    {
        int oddNumbers[] = new int[100];
        int counterA = 0;
        int counterB = 0;
        int counter = 0;
        int placeholder;

        while(counter < randomNumbers.length)
        {
            if(randomNumbers[counterA] % 2 > 0)
            {
                oddNumbers[counterB] = randomNumbers[counterA];
                counterB++;
            }

            counterA++;
            counter++;
        }   

        return oddNumbers;
    }
    public static int getEvenNumbers(int randomNumbers)
    {
        int evenNumbers[] = new int[100];
        int counterA = 0;
        int counterB = 0;
        int counter = 0;
        int placeholder;

        while(counter < randomNumbers.length)
        {
            if(randomNumbers[counterA] % 2 > 0)
            {
                evenNumbers[counterB] = randomNumbers[counterA];
                counterB++;
            }

            counterA++;
            counter++;
        }

        return evenNumbers;
    }
}   

我一直在尝试执行一个程序来对数组中的变量进行排序,但我不断得到一个';'在声明程序应该从函数中检索数组的数组声明之后的行中的预期错误。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

这是错误的语法(导致';' expected error):

oddNumbers[] = getOddNumbers(randomNumbers);

不需要括号。你可以这样做:

oddNumbers = getOddNumbers(randomNumbers);

除此之外,你还有很多错误:

int randomNumbers[] = new int[100]; // you need the brackets

方法声明中的返回值是错误的(您返回的是数组,而不是int):

public static int[] getEvenNumbers(int randomNumbers)

答案 1 :(得分:0)

   int oddNumbers[] = new int[100];

通过初始化oddNumbers成为一个数组。当你想要分配值时,

    oddNumbers={elements of array}

左右两侧都应该是阵列。

可能您应该使用IDE进行编码,然后它可以帮助您理解这样的问题。