【发布时间】:2017-10-18 23:32:16
【问题描述】:
我不知道如何给这个问题起个名字,但基本上这是我的二十一点计划的一部分。另外,由于我不知道如何命名,我不知道如何查找它,这就是我在这里问的原因。所以我是说,当用户输入 1 或 11 作为 ace 值时,如果他们输入的不是 1 或 11,它会再次要求用户输入 1 或 11。在我的程序中,一切正常,除非用户输入 1,然后它只是再次提问。程序只应再次询问输入是否不等于 1 或 11。这是我的代码,因为我确保它始终为测试目的提供一个 ace:
String card1="A";
int total=0;
Scanner input_var=new Scanner(System.in);
if (card1=="A"){
System.out.println("Do you want a 1 or 11 for the Ace?: ");
int player_ace_selection=input_var.nextInt();
if ((1|11)!=(player_ace_selection)){
System.out.println("Please enter a 1 or 11: ");
int new_selection=input_var.nextInt();
total=total + new_selection;
}
else {
total=total + player_ace_selection;
}
}
System.out.println(total);
提前致谢。
【问题讨论】:
-
提示:
.nextInt()vs.nextLine-> 第一个不读取新行\n -
没有短格式
OR,您正在按位或在1和11(1|11)!=(player_ace_selection)上进行操作 -
card1 == "A"不是这里唯一的问题,也不是主要问题。投票重新开放。 -
也使用
.equals()而不是==比较字符串,即card1和"A"
标签: java if-statement