修改当前代码以在 > 21 时拒绝用户输入
Modify current code to reject user input if > 21
这是我目前使用 NetBeans 得到的结果。
System.out.println("Welcome to BlackJack 21!");
Scanner data = new Scanner(System.in);
int num1, num2;
// Read 1st number
System.out.println("Enter 1st number");
num1 = data.nextInt();
// Read 2nd number
System.out.println("Enter 2nd number");
num2 = data.nextInt();
// Find largest number
if (num1 > num2)
System.out.println("The largest number:" + num1);
else
System.out.println("The largest number:" + num2);
我需要帮助的是:我需要找出一种方法,不允许用户输入大于 21 的数字。我的想法是,这将是一个 21 点程序,因此数字用户输入不能超过21
谢谢!!
if(num1 > 21 || num2 > 21) {
//your code
}
如果你这样写代码,你的评论就会消失
System.out.println("Welcome to BlackJack 21!");
Scanner data= new Scanner(System.in);
int num1 = 0, num2 = 0;
// Read 1st number
System.out.println("Enter 1st number");
num1=data.nextInt();
// Read 2nd number
System.out.println("Enter 2nd number");
num2=data.nextInt();
// Find largest number
if(num1>num2) {
System.out.println("The largest number:"+num1);
} else {
System.out.println("The largest number:"+num2);
}
// If a number is too large
if(num1 > 21 || num2 > 21) {
// Your Code
}
变量num1
和num2
在开始时被初始化
如果用户输入的数字大于 21,您只需继续接受输入。您可以使用循环轻松完成。
这是代码片段:
public static void main (String[] args)
{
System.out.println("Welcome to BlackJack 21!");
Scanner data= new Scanner(System.in);
int num1 = 22, num2 = 22;
// Read 1st number
while(data.hasNext() && num1 > 21) {
System.out.println("Enter 1st number");
num1 = data.nextInt();
}
// Read 2nd number
while(data.hasNext() && num2 > 21) {
System.out.println("Enter 2nd number");
num2 = data.nextInt();
}
// Find largest number
if(num1 > num2) {
System.out.println("The largest number:" + num1);
} else {
System.out.println("The largest number:" + num2);
}
}
你可以这样做:
// Read 1st number
do {
System.out.println("Enter 1st number");
num1 = data.nextInt();
if (num1>21) System.out.println("Number must not be greater then 21");
} while (num1>21);
您将继续循环,直到用户输入有效的输入。不确定您是否知道 do/while 是如何工作的,但本质上它运行 do
部分中的代码,然后在之后评估 while
中的条件。在我们的例子中,条件是检查数字是否大于 21。如果满足条件,它将重复 do
部分中的内容,否则它将继续执行其余代码。通过几个输入亲自尝试一下。用户仍然可以输入负数,因此您也必须为此添加一个检查。
您需要一个系统,如果用户输入了无效值,则允许用户再次输入数字。
您可以使用 do-while 循环执行此操作:
int num = 0;
do {
num = scanner.nextInt();
} while(num > 21 || num < 1);
这是我目前使用 NetBeans 得到的结果。
System.out.println("Welcome to BlackJack 21!");
Scanner data = new Scanner(System.in);
int num1, num2;
// Read 1st number
System.out.println("Enter 1st number");
num1 = data.nextInt();
// Read 2nd number
System.out.println("Enter 2nd number");
num2 = data.nextInt();
// Find largest number
if (num1 > num2)
System.out.println("The largest number:" + num1);
else
System.out.println("The largest number:" + num2);
我需要帮助的是:我需要找出一种方法,不允许用户输入大于 21 的数字。我的想法是,这将是一个 21 点程序,因此数字用户输入不能超过21
谢谢!!
if(num1 > 21 || num2 > 21) {
//your code
}
如果你这样写代码,你的评论就会消失
System.out.println("Welcome to BlackJack 21!");
Scanner data= new Scanner(System.in);
int num1 = 0, num2 = 0;
// Read 1st number
System.out.println("Enter 1st number");
num1=data.nextInt();
// Read 2nd number
System.out.println("Enter 2nd number");
num2=data.nextInt();
// Find largest number
if(num1>num2) {
System.out.println("The largest number:"+num1);
} else {
System.out.println("The largest number:"+num2);
}
// If a number is too large
if(num1 > 21 || num2 > 21) {
// Your Code
}
变量num1
和num2
在开始时被初始化
如果用户输入的数字大于 21,您只需继续接受输入。您可以使用循环轻松完成。
这是代码片段:
public static void main (String[] args)
{
System.out.println("Welcome to BlackJack 21!");
Scanner data= new Scanner(System.in);
int num1 = 22, num2 = 22;
// Read 1st number
while(data.hasNext() && num1 > 21) {
System.out.println("Enter 1st number");
num1 = data.nextInt();
}
// Read 2nd number
while(data.hasNext() && num2 > 21) {
System.out.println("Enter 2nd number");
num2 = data.nextInt();
}
// Find largest number
if(num1 > num2) {
System.out.println("The largest number:" + num1);
} else {
System.out.println("The largest number:" + num2);
}
}
你可以这样做:
// Read 1st number
do {
System.out.println("Enter 1st number");
num1 = data.nextInt();
if (num1>21) System.out.println("Number must not be greater then 21");
} while (num1>21);
您将继续循环,直到用户输入有效的输入。不确定您是否知道 do/while 是如何工作的,但本质上它运行 do
部分中的代码,然后在之后评估 while
中的条件。在我们的例子中,条件是检查数字是否大于 21。如果满足条件,它将重复 do
部分中的内容,否则它将继续执行其余代码。通过几个输入亲自尝试一下。用户仍然可以输入负数,因此您也必须为此添加一个检查。
您需要一个系统,如果用户输入了无效值,则允许用户再次输入数字。
您可以使用 do-while 循环执行此操作:
int num = 0;
do {
num = scanner.nextInt();
} while(num > 21 || num < 1);