大家好,我是Java的初学者,我的英语不好,希望您能理解我的问题:
public static void main(String[] args) {
int i, a, b, c, d, yil = 1999, rt = 0;
do{
//loop searching for 1976
for( i = 1900; i < 2000; i++){
//separate "i" to the digits
a = i / 1000;
b = i % 1000 / 100;
c = i % 1000 % 100 / 10;
d = i % 1000 % 100 % 10;
rt = a + b + c + d;
}}
//while rt=23 and i=1976 equation will be correct then exit the loop and print the 1976.
while( rt == yil - i );
System.out.println("Yıl = " + i );
}
但是,当我运行该程序时,它始终显示2000而不是1976.
解决方法:
混乱的增量可能会将其隐藏,但是您无法摆脱for循环.它总是到最后,即i = 2000.
for( i = 1900; i < 2000; i++){
... // no break in there
}
...
System.out.println("Yıl = " + i );
没有理由在您的情况下有两个循环.看来你想要的是
int i, a, b, c, d, yil = 1999, rt = 0;
//loop searching for 1976
for( i = 1900; i < 2000; i++){
//separate "i" to the digits
a = i / 1000;
b = i % 1000 / 100;
c = i % 1000 % 100 / 10;
d = i % 1000 % 100 % 10;
rt = a + b + c + d;
if (rt==yil-i) break;
}
System.out.println("Yıl = " + i ); }
这个输出
Yıl = 1976
标签:for-loop,java 来源: https://codeday.me/bug/20191031/1978102.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。