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

for循环条件里定义2个变量为什么会报错

public class HelloWorld { 
    //完成 main 方法
    public static void main(String[] args) {
        int scores[]={89,-23,64,91,119,52,73};
        HelloWorld hello=new HelloWorld();
        hello.sortScore(scores); 
    }
    //定义方法完成成绩排序并输出前三名的功能
    public void sortScore(int[] scores){
        Arrays.sort(scores);
        int sum=0;  //定义sum保存有效成绩数
        for(int i=scores.length-1;i>=0&&sum<3;i--){
            if(scores[i]<0||scores[i]>100)
            continue;
            System.out.println(scores[i]);
            sum++;
        }
    }  
}   

为什么我把for循环写成

        for(int i=scores.length-1,int sum=0;i>=0&&sum<3;i--){
            if(scores[i]<0||scores[i]>100)
            continue;
            System.out.println(scores[i]);
            sum++;
        }
   会报错?

提问者:奔雷手文泰来 2018-11-01 10:01

个回答

  • 慕虎9507149
    2018-11-01 19:30:16
    已采纳

    你这里是同时声明了2个整型变量 sum  和  i ,所以后面的int 不用写,相当于int sum=0,i=1;或者你可以写成 for(int sum1=0,i=scores.length-1;i>=0&&sum1<3;i--)