qq_胡斌_0
2016-06-07 18:58
public class HelloWorld {
public static void main(String[] args) {
// 变量保存成绩
int score = 53;
// 变量保存加分次数
int count = 0;
//打印输出加分前成绩
System.out.println("加分前成绩:"+score);
do {
score++;
count+1;
} while (score<60 && count++);
System.out.println("加分前成绩:"+score);
System.out.println("共加了"+count+"次!");
对,因为while语句的括号里面是条件,在什么样的条件下执行里面的算法,count++不是条件所以不能加进去
但是你要声明变量count啊!语法错误了,应该是count=count+1,这样的话也可以的,但是后面,while后面的条件也有错误的,与count++不需要的,只需要提供循环的条件
你的代码有两个问题:
count+1;这句虽然进行了运算,但没有赋值给任何变量,运算后count不变,想完成count加1运算可以写成count++;或count+=1;或count=count+1;三种写法意思是一样的
while()后面的括号里需要加入判断语句,score<60是判断,但count++是一个单纯运算,返回结果不是boolean类型的不能放入while后的括号里
循环可以改成如下这样:do {
score++;
count++;
} while (score<60 );其他不变就可以了
这会产生一个问题。
如果score一开始就>=60,比如score=65,那么你会先执行一次do{ score++;count++; },此时score=66,大于60跳出循环,count=1。
然而实际上,score在第一次进入循环体时就已经大于60了,所以是不需要加分的。所以应该是加了0次才对。
Java入门第一季(IDEA工具)升级版
1165574 学习 · 17587 问题
相似问题