慕粉3703560
2016-07-24 23:34
if (score<60){
for(;score<60;){
score+=1;
count+=1;
}
}else{
System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");
}
你的这行代码关键在于没有结束for循环语句 ;当score无论是小于60几时,它跳进if里面执行for并无限循环下去,无论当score为几时(大于小于等于)它都不会再跳出if再去执行else语句了
你可以开个断点测试一下看我说的对不对
所以你只要再加上一个结束for循环语句就能得到你想要的值了 exg:if(score>60) break;
public class Test11
{
public static void main(String[] args)
{
int score=59;
int count=0;
if (score<60)
{
for(;score<60;)
{
score+=1;
count+=1;
}
System.out.println("加分后成绩:"+score + "\n" + "共加了"+count+"次");
}
else
{
System.out.println("加分失败");
}
}
}
你看看你定义的score 数值为多少 只有当score大于60才会执行else 而且score不能直接定义大于60
if 余件不满足的情况下,才会执行else语句。所以当超过60,就会执行else.
你当前的score是多少?如果不小于60应该可以执行else语句,如果是小于60,则经过if语句,再执行完for循环后,就结束了,你如果想要有输出,要在if语句里for循环外,添加System.out.println()语句
你的score如果是61,就执行else了,如果score小于60,它只执行if后面的条件,而且score<60这个条件只判断一次的
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题