问答详情
源自:5-1 编程练习

这样也是可以吗?

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+"次!");


提问者:qq_胡斌_0 2016-06-07 18:58

个回答

  • 学习就是乐趣
    2016-06-14 20:02:39

    对,因为while语句的括号里面是条件,在什么样的条件下执行里面的算法,count++不是条件所以不能加进去

  • 学习就是乐趣
    2016-06-07 19:11:46

    但是你要声明变量count啊!语法错误了,应该是count=count+1,这样的话也可以的,但是后面,while后面的条件也有错误的,与count++不需要的,只需要提供循环的条件

  • waitree
    2016-06-07 19:08:57

    你的代码有两个问题:

    1. count+1;这句虽然进行了运算,但没有赋值给任何变量,运算后count不变,想完成count加1运算可以写成count++;或count+=1;或count=count+1;三种写法意思是一样的

    2. while()后面的括号里需要加入判断语句,score<60是判断,但count++是一个单纯运算,返回结果不是boolean类型的不能放入while后的括号里

    3. 循环可以改成如下这样:do {

                score++;

                count++;

            } while (score<60 );其他不变就可以了

  • 拜托一定要行
    2016-06-07 19:07:21

    这会产生一个问题。

    如果score一开始就>=60,比如score=65,那么你会先执行一次do{  score++;count++; },此时score=66,大于60跳出循环,count=1。

    然而实际上,score在第一次进入循环体时就已经大于60了,所以是不需要加分的。所以应该是加了0次才对。