慕容2639740
2016-04-18 14:16
求解答..
首先 你这个形参定义的是个int数组,然而你传了好几个实参,传参之前先封装成一个数组再传。
其次,sum++要移出当前if,放在下面一排,不然起不到计数的作用。
再次,sum<=3就可以break了。
我的是这么出来的。供参考
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
System.out.println("考试成绩的前三名为");
int[] scores={89,-23,64,119,52,73};
hello.fangfa(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void fangfa(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]);
}
}
}
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
scoresSort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public static void scoresSort(int[] scores)
{
int count=1;
Arrays.sort(scores);
System.out.println("前三名的成绩是:");
for(int i = scores.length-1;i>=0;i--)
{
if((scores[i]<0)&&(scores[i]>100))
{
continue;
}
else
{
if(count==4)
break;
else
{
System.out.println(scores[i]);
count++;
}
}
}
}
}
Java入门第一季(IDEA工具)升级版
1167352 学习 · 18630 问题
相似问题