古いテレビのクイズ番組 You Bet Your Life をシミュレートするプログラムを作成している現在、Java の問題に取り組んでいます。ゲームショーの司会者である Groucho Marx が秘密の言葉を選び、出場者としばらくおしゃべりをします。いずれかの競技者が文の中で秘密の単語を使用した場合、その競技者は $100.00 を獲得します。
私のプログラムは、この秘密の言葉をチェックするためのものです。
これが私のコードです:
import java.util.Scanner;
public class Groucho{
String secret;
Groucho(String secret){
this.secret = secret;
}
public String saysSecret(String line){
if(secret.equals(line)){
return("You have won $100! The secret word is: " + secret);
}
else{
return("false");
}
}
public void main(String[] args){
Scanner in = new Scanner(System.in);
String line = in.nextLine();
Groucho g = new Groucho(line);
while (in.hasNextLine()) {
Scanner input = new Scanner(System.in);
String guess = input.nextLine();
saysSecret(guess);
}
}
}
彼はうまくいくはずだと思ったが、実行すると次のようになる:
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
誰かが私が間違っていることを説明できますか? どうもありがとう!マイル