这与java有关。 我试图找出一个范围内的数字,这个数字可以被特定的数字整除,即X.数字的数字也可以被数字X整除。 例如:范围30至40 所以数字30,33,36,39可以被3整除,数字也可以被3整除。 但是在我编写的代码中,循环逻辑似乎不正确,因为它只给出了30和33作为输出。 你能帮我理解一下吗?
代码:
public class Char{
public static void main(String args[]){
//Fill the code
int m,n,i,z = 0;
int x = 3;
Scanner sc = new Scanner(System.in);
System.out.println("Enter the range for shipment numbers :");
m = sc.nextInt();
n = sc.nextInt();
//while (m!=0 && n!=0){
System.out.println("Possible shipment numbers :");
for (i=m;i<=n;i++){
if(i%10==z){
if(z%x==0);
z=i/10;
System.out.println(i);
}
}
}
}
代码:
答案 0 :(得分:0)
您需要迭代主循环变量 i 的每个数字。你需要一个内环(下面的'while')来检查 i 的每个数字:
int m, n, i, z = 0;
int x = 3;
boolean div;
Scanner sc = new Scanner(System.in);
System.out.println("Enter the range for shipment numbers :");
m = sc.nextInt();
n = sc.nextInt();
System.out.println("Possible shipment numbers :");
for (i = m; i <= n; i++) {
z = i;
div = true;
while (z > 0) {
if (z % 10 % x != 0) {
div = false;
break;
}
z /= 10;
}
if (div) System.out.println(i);
}
现在这适用于更大的数字范围。例如,运行给出:
输入装运编号范围:300 400可能装运 数字:300 303 306 309 330 333 336 339 360 363 366 369 390 393 396 399