0

这是我的第一篇文章,所以在这里,我目前正在编写一个程序,我目前正在尝试交换数组中的两个索引,我相信我已经正确完成了,但我得到了一个编译器错误,我无法得到我的头。如果有人能告诉我为什么我会收到错误,那将不胜感激。这是要求用户进行输入和错误检查,它工作正常

/////***************** Question 1 Part F (Method inside of Main)  *****************\\\\\    
System.out.print ("\n");
System.out.println ("Press 1 to edit the array: ");
int changeArray = keyIn.nextInt();

if(changeArray==1){
    //Ask to change indice 1
    System.out.println("Please enter the first indice you want to edit: (Between 0 & " + numbers.size() + ")");
    int changeFirstIndice = keyIn.nextInt();

    //Error check the first indice
    if (changeFirstIndice > numbers.size() || changeFirstIndice < 0) {
        System.out.println("ERROR!! You have entered an invalid number, please try again...");
    } //Ask to change indice 2
    else if (changeFirstIndice <= numbers.get(numbers.size() - 1) && changeFirstIndice > 0) {
        System.out.println("Please enter the second indice you want to edit: (Between 0 & " + numbers.size() + ")");
        int changeSecondIndice = keyIn.nextInt();

        //Error check the second indice
        if (changeSecondIndice > numbers.size() || changeSecondIndice < 0) {
            System.out.println("ERROR!! You have entered an invalid number, please try again...");
        } //Print the adjusted array
        else if (changeSecondIndice <= numbers.size() && changeFirstIndice > 0) {
            changeIndices(numbers, changeFirstIndice, changeSecondIndice);
            System.out.println(numbers);
        }
    }
}

这是给我错误的代码,我一生都看不到有什么问题(可能很简单)

public static ArrayList changeIndices(ArrayList<Integer> numbers, int changeFirstIndice, int changeSecondIndice) {
    int temp1 = numbers.get((changeFirstIndice) - 1);
    int temp2 = numbers.get((changeSecondIndice) - 1);

    //Swap the numbers
    numbers.set((changeFirstIndice - 1), temp2);
    numbers.set((changeSecondIndice - 1), temp1);

    return numbers;
}

[这些是我得到的错误] http://gyazo.com/4b3ccbb8316242a9335d5fb4b006dec0

因此,如前所述,任何帮助将不胜感激:) 对于在这里询问的人是这部分涉及的所有代码:

/////***************** Question 1 Part F (Method inside of Main)  *****************\\\\\    
System.out.print("\n");
System.out.println("Press 1 to edit the array: ");
int changeArray = keyIn.nextInt();

if (changeArray == 1) {
    //Ask to change indice 1
    System.out.println("Please enter the first indice you want to edit: (Between 0 & " + numbers.size() + ")");
    int changeFirstIndice = keyIn.nextInt();

    //Error check the first indice
    if (changeFirstIndice > numbers.size() || changeFirstIndice < 0) {
        System.out.println("ERROR!! You have entered an invalid number, please try again...");
    }

    //Ask to change indice 2
    else if (changeFirstIndice <= numbers.get(numbers.size() - 1) && changeFirstIndice > 0) {
        System.out.println("Please enter the second indice you want to edit: (Between 0 & " + numbers.size() + ")");
        int changeSecondIndice = keyIn.nextInt();

        //Error check the second indice
        if (changeSecondIndice > numbers.size() || changeSecondIndice < 0) {
            System.out.println("ERROR!! You have entered an invalid number, please try again...");
        }

        //Print the adjusted array
        else if (changeSecondIndice <= numbers.size() && changeFirstIndice > 0) {
            changeIndices(numbers, changeFirstIndice, changeSecondIndice);

            System.out.println(numbers);
        }
    }
}

/////***************** Question 1 Part F (Method Outside of Main)  *****************\\\\\
public static ArrayList changeIndices(ArrayList < Integer > numbers, int changeFirstIndice, int changeSecondIndice) {
    int temp1 = numbers.get((changeFirstIndice) - 1);
    int temp2 = numbers.get((changeSecondIndice) - 1);

    //Swap the numbers
    numbers.set((changeFirstIndice - 1), temp2);
    numbers.set((changeSecondIndice - 1), temp1);

    return numbers;
}

因此,如前所述,任何帮助将不胜感激:)

4

2 回答 2

1

在方法声明之前,您的代码末尾似乎没有}您的main方法应该结束的地方public static ArrayList changeIndices(...

使用 IDE,甚至像 NotePad++ 这样的编程编辑器都可以帮助您进行大括号匹配

于 2013-10-14T20:57:46.253 回答
-5

方法参数需要紧跟在方法名称之后(不带空格):

public static ArrayList changeIndices(ArrayList <Integer> numbers, int changeFirstIndice, int changeSecondIndice)
于 2013-10-14T20:40:42.217 回答