gamer8756
gamer8756

Reputation: 9

error ';' expected in array defining, ; already used

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;
    }
}   

I have been trying to execute a program to sort variables in arrays, but I keep getting a ';' expected error in the line after declaration of the array where the program is supposed to retrieve an array from a function. Any help would be appreciated.

Upvotes: 0

Views: 101

Answers (2)

Ruchira Gayan Ranaweera
Ruchira Gayan Ranaweera

Reputation: 35577

   int oddNumbers[] = new int[100];

By initializing oddNumbers become an array. when you want to assign values,

    oddNumbers={elements of array}

Both left and right hand side both should arrays.

May be you should use IDE for coding then it may help you to understand some issues like this.

Upvotes: 0

jh314
jh314

Reputation: 27802

This is bad syntax (which causes the ';' expected error ):

oddNumbers[] = getOddNumbers(randomNumbers);

The brackets are not needed. You can do this:

oddNumbers = getOddNumbers(randomNumbers);

Besides that, you have plenty of errors:

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

Your return value in the method declaration is wrong (you are returning an array, not an int):

public static int[] getEvenNumbers(int randomNumbers)

Upvotes: 1

Related Questions