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