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);
}
}添加回答
举报
