0
我是Java新手,因爲遇到了錯誤,所以我覺得它非常複雜。所以,我有這段代碼的問題:While循環中的掃描變量的錯誤
主類:
public class Main {
public static void main(String[] args){
Answer a = new Answer();
String ans = null;
while(ans != "A"){
ans = a.create();
System.out.print(ans + "\n");
}
}
}
回答類:
import java.util.Scanner;
public class Answer {
public String create(){
Scanner s = new Scanner(System.in);
return s.next();
}
}
我想要的程序,讓我寫的東西。那麼,如果我寫的不是字母A,那麼程序必須允許我寫其他東西,否則必須停止。但是,即使我寫「A」,程序仍然在繼續,讓我寫點別的東西。代碼有什麼問題?
異常線程 「main」 顯示java.lang.NullPointerException \t在Main.main(Main.java:14) (在第14行我有一段時間(!ans.equals( 「A」))) – Arnau 2015-02-08 12:17:13
這是因爲ans的初始值爲空。你應該把它設置爲不是「A」 – 2015-02-08 12:20:31
好吧。有用!雖然我不明白爲什麼如果我設置ans = null – Arnau 2015-02-08 12:28:54