我编写的程序无法正常工作,我真的不知道为什么。我将衷心感谢您的帮助。谢谢
for (int i = 1000; i <= 9999; i++){
int n = i;
int remandier1, remandier2,finalanswer;
double result1=0;
while(n != 0){
remandier1 = n % 100;
remandier2 = n /100;
finalanswer = remandier1 + remandier2;
result1 = Math.pow(finalanswer, 2);
}
if (result1 == n){
System.out.println(i);
}
}
因此,此程序应执行所有4位数字,前两位数字和后两位数字之和的平方应等于其自己的数字,但我不会执行任何操作。
答案 0 :(得分:1)
您正在使用基于n
不同于0的循环,但是n
从未在循环期间被修改。循环如何才能真正停止..循环?可能是我遗漏了一些东西,但据我所知,n
将永远等于i
的设置值。
while(n != 0)
{
remandier1 = n % 100;
remandier2 = n /100;
finalanswer = remandier1 + remandier2;
result1 = Math.pow(finalanswer, 2);
// add something to stop the loop
n = n - 1; // for example
}