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
提交
取消