【问题标题】:error ';' expected in array defining, ; already used错误 ';'预期在数组定义中,;已经使用过的
【发布时间】:2013-07-10 01:52:04
【问题描述】:
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;
    }
}   

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

【问题讨论】:

  • 你需要解决这个问题: int randomNumbers = new int[100];您正在声明一个数组: int[] randomNumbers = new int[100];

标签: java arrays function


【解决方案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)

【讨论】:

    【解决方案2】:
       int oddNumbers[] = new int[100];
    

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

        oddNumbers={elements of array}
    

    左右两边都应该是数组。

    也许你应该使用 IDE 进行编码,那么它可能会帮助你理解一些这样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多