需要一个要求用户输入 2 个整数的程序,检查第二个数字是否是第一个数字的倍数
Need a programs that asks user to enter 2 integers, check to see if 2nd number is multiple of first number
我不明白为什么我的 if-else 语句不能正常工作。这是我目前所拥有的:
import java.util.Scanner;
public class multiple {
public static void main (String[] args){
Scanner input = new Scanner (System.in);
int x = 4;
int y = 3;
int multiple = y % x;
while (multiple != 0){
System.out.println("Enter two integers: ");
x = input.nextInt();
y = input.nextInt();
if (multiple != 0)
System.out.println("Oops, sorry! The second integer is NOT a multiple of the first integer.");
else
System.out.println("Good Job! " + y + " is a multiple of " + x + "!");
}
}
}
您没有在获取用户 input.Change 后更新 multiple
您的代码 this.it 应该可以工作。
import java.util.Scanner;
public class multiple {
public static void main (String[] args){
Scanner input = new Scanner (System.in);
int x = 4;
int y = 3;
int multiple = y % x;
while (multiple != 0){
System.out.println("Enter two integers: ");
x = input.nextInt();
y = input.nextInt();
multiple = y % x;
if (multiple != 0)
System.out.println("Oops, sorry! The second integer is NOT a multiple of the first integer.");
else
System.out.println("Good Job! " + y + " is a multiple of " + x + "!");
}
}
}
每次更改 x 和 y 时都必须更新多重变量。您现在拥有的是每次检查 4%3 是否为 0。
换句话说,在更新 x 和 y 后将倍数设置为 y%x。
为了补充 Prince 和 playitright 所说的话,我想
- 检查用户输入的数字是否不为零。这非常重要,否则您可能会遇到运行时异常。
- 您正在尝试 y%x 而不是 x%y。
因为你选择的数据类型都是int,所以x%y也要勾选
假设,
x=3 和 y=6,您的解决方案有效,但如果我们只是反转 x=6 和 y=3 的值,则输出不正确。
我不明白为什么我的 if-else 语句不能正常工作。这是我目前所拥有的:
import java.util.Scanner;
public class multiple {
public static void main (String[] args){
Scanner input = new Scanner (System.in);
int x = 4;
int y = 3;
int multiple = y % x;
while (multiple != 0){
System.out.println("Enter two integers: ");
x = input.nextInt();
y = input.nextInt();
if (multiple != 0)
System.out.println("Oops, sorry! The second integer is NOT a multiple of the first integer.");
else
System.out.println("Good Job! " + y + " is a multiple of " + x + "!");
}
}
}
您没有在获取用户 input.Change 后更新 multiple
您的代码 this.it 应该可以工作。
import java.util.Scanner;
public class multiple {
public static void main (String[] args){
Scanner input = new Scanner (System.in);
int x = 4;
int y = 3;
int multiple = y % x;
while (multiple != 0){
System.out.println("Enter two integers: ");
x = input.nextInt();
y = input.nextInt();
multiple = y % x;
if (multiple != 0)
System.out.println("Oops, sorry! The second integer is NOT a multiple of the first integer.");
else
System.out.println("Good Job! " + y + " is a multiple of " + x + "!");
}
}
}
每次更改 x 和 y 时都必须更新多重变量。您现在拥有的是每次检查 4%3 是否为 0。
换句话说,在更新 x 和 y 后将倍数设置为 y%x。
为了补充 Prince 和 playitright 所说的话,我想
- 检查用户输入的数字是否不为零。这非常重要,否则您可能会遇到运行时异常。
- 您正在尝试 y%x 而不是 x%y。
因为你选择的数据类型都是int,所以x%y也要勾选
假设,
x=3 和 y=6,您的解决方案有效,但如果我们只是反转 x=6 和 y=3 的值,则输出不正确。