我正在处理一个 java 问题,我正在创建一个模拟旧电视问答节目 You Bet Your Life 的程序。游戏节目主持人格劳乔·马克思选择了一个秘密词,然后与参赛者聊了一会儿。如果任一参赛者在一个句子中使用了这个秘密词,他或她将赢得 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)
有人可以解释我做错了什么吗?非常感谢!英里