这与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);
}
}
}
}
代码:
您需要遍历主循环变量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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句