方法中返回一个值;然后在main()中使用for循环输出前三大的数要怎么实现?
*****如题
2015-10-02
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld hello=new HelloWorld ();
int[] scores={89,-23,64,91,119,52,73};
//for循环实现print的三次调用 输出三个值
for(int i=0;i<3;i++){
// print()返回值赋给整形scores[i];
scores[i]= hello.print(i,scores);
//这里为什么出错?
System.out.println(scores[i]);
}
}
//该方法要实现返回数组中的最大值
public int print(int a,int scores[]) {
int printValue;
printValue = 0 ;
Arrays.sort(scores);
//scores[scores.length-1-a]为了排除掉之前已经输出 过的值
if(scores[scores.length-1-a]>=0&&scores[scores.length-1-a]<=100)
{
printValue = scores[scores.length-1-a];
}
return printValue;
}
}
import java.util.Arrays;
public class helloword {
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
System.out.println("3");
helloword hello = new helloword();
hello.showTop3(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void showTop3(int[] scores){
Arrays.sort(scores);
int num =0;
for(int i =scores.length-1;i>=0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}
num++;
if(num>3){
break;
}
System.out.println(scores[i]);
}
}
}
举报