“if”语句只允许在其中添加数字。 有没有办法让它读信? 我只是在Java的第五课(我在大学学习,老师很慢,但我想快速学习)
例如。
import java.util.Scanner;
public class Java {
public static void main (String [] args) {
Scanner scan = new Scanner(System.in);
int answer1;
System.out.println("Do you like Java?");
answer1 = scan.nextInt();
if (answer1 == yes)
System.out.println("Cool ~");
else
System.out.println("Ehh...");
}
}
我想把“是”而不是数字5。 因此,如果用户键入“是”,它将打印“正确”。
P.S。我没有在搜索引擎中找到明确的答案。 这不是一个重复的线程,因为我正试图找到一个明确的答案。 我需要一个详细的解释。 我还是初学者,使用那些“高科技java词汇”对我没用。
答案 0 :(得分:2)
您需要修改程序,以便扫描程序读取String
而不是int
。你可以这样做:
import java.util.Scanner;
public class 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()
,因为我们只需要一个单词(标记),但要注意还有其他选项来读取字符串。
另请注意,我已在条件中更改了测试,因为它现在是String
。请参阅this answer for more on comparing String
s。
答案 1 :(得分:1)
您需要修改程序,以便扫描程序读取字符串而不是int。你可以这样做:
import 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(),因为我们只想要一个单词(标记),但要注意读取字符串还有其他选项。
另请注意,我已经在条件中更改了测试,因为它是 现在是一个String。有关比较字符串的更多信息,请参阅此答案。
好的,如果您希望程序同时读取单词和数字,该怎么办: 这是我的程序(更深入,当你看到完整的东西),但这是我正在拥有该程序的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]
之类的内容是出于某种目的......