大家进来帮我看看哪里出现了错误了,我输出的结果是全部输出了,不管怎么判断都是这样的,哪里的逻辑出现了错误了
/* 要求: 1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入 3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩 */ class Demo4 { public static void main(String[] args) { int[] scores = { 89, -23, 64, 91, 119, 52, 73 }; print(scores); } public static void print(int[] arr) { for (int i = 0; i < arr.length; i++) { //将数组的元素你从大到小排序 for (int j = i + 1; j < arr.length; j++) { if (arr[i] < arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for (int i = 0; i < arr.length; i++) { int count=1; if( arr[i]<0 || arr[i] > 100 ){ continue; } count++; if (count>3) { break; } System.out.println(arr[i]); /*if (0 < arr[i] && arr[i] <= 100 ) { System.out.println(arr[i]); if (count>3) { break; } count++; }*/ } } }
我找到错误了,是我的计数器定义的位置错了,应该定义在for循环外边,我定义在for里边相当于我的计数器在每次循环的时候都是从零开始的