3 回答
已采纳
kaguya
TA贡献8条经验 获得超5个赞
你的sum从头到尾就没变过嘛...
public class Text03 {
public static void main(String[] args) {
int[] scores = {98,-23,64,91,119,52,73};
Arrays.sort(scores);
int[] arr = new int[3];
int count = 0;
for (int i = scores.length - 1; i >= 0; i--) {
if (scores[i] <= 100 && scores[i] >= 0 && count < 3) {
arr[count] = scores[i];
count++;
}
}
System.out.println("前三名的成绩为:"+Arrays.toString(arr));
}
}
Simon站起来
TA贡献5条经验 获得超1个赞
你的代码没给全,不知道你最后输出了啥,还有就是你System.out.print("前三名成绩为: ");后面的{是什么鬼,按照你的思路我重新实现了下,只能帮你到这了。
public class TopThree {
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
int count = 0;//要统计的个数
//排序后是升序的,所以从后面开始遍历就好[-23, 52, 64, 73, 89, 91, 119]
Arrays.sort(scores);
System.out.print("前三名成绩为: ");
for (int i = scores.length - 1; i >= 0; i--) {
//违反验证
if (100 < scores[i] || 0 > scores[i]) {
continue;//跳出当次循环,执行下次
}
System.out.print(scores[i] + " ");
count++;//成功输出一位就自增1
//统计了3个就跳出循环
if (count == 3) {
break;
}
}
}
}
添加回答
举报
0/150
提交
取消
