您需要修改您的程序,以便您的扫描仪读取 String 而不是 int。你可以这样做:
导入 java.util.Scanner;公共类 Java { public static void main (String [] args) {
Scanner scan = new Scanner(System.in);
String answer1;
System.out.println("Do you like Java?");
answer1 = scan.next();
if (answer1.equals("yes"))
System.out.println("Cool ~");
else
System.out.println("Ehh...");
} }
我为此使用了 next() ,因为我们只需要一个单词(令牌),但请注意还有其他选项可以读取字符串。
另请注意,我已经更改了条件中的测试,因为它现在是一个字符串。有关比较字符串的更多信息,请参阅此答案。
好的,如果您希望程序同时读取单词和数字怎么办:这是我的程序(更深入,当您看到完整内容时),但这是我拥有的 5 个部分(看起来很像)之一程序...
public static void Gdr1() {
try {
System.out.print("[Code: Gdr1] Grade 1: %");
Scanner gdr1 = new Scanner(System.in);
Z = gdr1.next();
Z = Double.toString(Grd1);
Grd1 = Double.parseDouble(Z);
if ((Grd1<100)&&(Grd1>=5)) {
Gdr2();
} else if ((Grd1>=100)&&(Grd1<125)) {
System.out.println(" System> Great Job "+Stu+"!");
Gdr2();
} else if (Grd1<5) {
System.out.println("I'm sorry, the lowest grade I am allowed to compute is 5...");
Gdr1();
} else if (Z.equalsIgnoreCase("restart")) {
restart01();
} else {
System.out.println("("+Z+") cannot be resolved in my system...");
Gdr1();
}
} catch (Exception e) {}
}
现在程序中一切正常,除了当最终用户的输入 ="restart"
时,我知道程序中的一些代码看起来很复杂,但它确实有效(大部分),谁能帮我解决这个问题,它我在学校的作品集最迟截止日期为 2017 年 1 月 25 日 @ 晚上 11:59。
诸如Z
(常量字符串)、""+Stu+""
(变量输入)之类的东西[Code: Gdr1]
是有目的的……