這裏是一個程序類似於沉沒的戰艦遊戲從書頭第一個java。編譯後,我得到的錯誤:「字符串不能轉換爲ArrayList錯誤」和^指針指向行我有兩個不同的文件與主方法和其他一個單獨的類。這裏有什麼問題。字符串不能轉換爲ArrayList <String>錯誤
主要方法類
import java.util.Scanner;
public class SimpleDotComTestDrive{
public static void main(String[] args){
SimpleDotCom dot=new SimpleDotCom();
boolean repeat=false;
String[] locations={"2","3","4"};
dot.setLocationCells(locations); //^ where compiler points the error
Scanner input=new Scanner(System.in);
System.out.println("Lets Start");
while(repeat==false) {
System.out.println("Type your guess");
String userGuess=input.nextLine();
String result=dot.checkYourSelf(userGuess);
System.out.println(result);
if(result=="kill") {
repeat=true;
break;
}
}
} //close main
} //close test class
單獨保存類,這是該計劃的一部分:
import java.util.ArrayList;
public class SimpleDotCom {
private ArrayList<String>locationCells;
public void setLocationCells(ArrayList<String> locs) {
locationCells=locs;
}
public String checkYourSelf(String userGuess) {
String result="miss";
int index = locationCells.indexOf(userGuess);
if(index>=0) {
locationCells.remove(index);
if(locationCells.isEmpty()) {
result="kill";
}
else {
result="hit";
}
}
return result;
} //close check yourself method
} //close simple class
數組和ArrayList是不同的東西 – Eran
'setLocationCells'需要一個'ArrayList',但是你傳遞一個數組。 –
你正試圖設置List =「String」(或類似的),而「String」不是一個List,所以不能分配給它,只添加它作爲一個元素,使用.add(「String」 )方法 – Stultuske