4 回答
TA贡献7条经验 获得超4个赞
public void method(int[] scores){ Arrays.sort(scores); int sum=0; for(int i=scores.length-1;i>=0;i--){ if(scores[i]>100){ continue; } sum++; if(sum>3){ break; } System.out.println(scores[i]); } }
朋友,你的代码各种小问题,首先是你在if语句括号后面加了分号,导致if语句判断完成以后啥都没干就结束了,所以每次循环直接执行花括号里的continue,然后循环就结束了,sum++开始,后面的代码都不能执行。其次,你的for循环里面,i是不能等于scores.length的,否则数组下标越界。写代码的时候要细心哦
TA贡献7条经验 获得超1个赞
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
System.out.println("考试成绩的前三名为:");
method1(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public static void method1(int[] scores){
Arrays.sort(scores);
int sum=0;
for(int i=scores.length-1;i>=0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}
sum++;
if(sum>3){
break;
}
System.out.println(scores[i]);
}
}
TA贡献2条经验 获得超0个赞
package test; import java.util.Arrays; public class HelloWorld { public void method(int[] scores){ Arrays.sort(scores); int sum=0; for(int i=scores.length-1;i>=0;i--){//这个地方改为i=scores.length-1 if(scores[i]<0||scores[i]>100){//去掉“;” continue; } sum++; if(sum>3){ break; } System.out.println(scores[i]); } } public static void main(String[] args) { HelloWorld hello=new HelloWorld(); int[] scores={89,-23,64,91,119,52,73}; System.out.println("考试成绩的前三名为:");//调换下换下顺序 hello.method(scores); } }
添加回答
举报