import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int [] scores={89,-23,64,91,119,52,73};
HelloWorld Score=new HelloWorld();
Score.qiansan(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void qiansan(int [] scores){
Arrays.sort(scores);
for (int i:scores){
if(i>100||i<0){
continue;
}
int [] aaa=new int[3];
for(int j=0;j<=aaa.length-1;j++){
aaa[j]=i;
}
System.out.println(aaa);
}
}
打印aaa输出的是各元素的哈希值
System.out.print(aaa) 改成:System.out.print(Arrays.toString(aaa))
如果你不遍历读取数组的话,直接输出得出的就是乱码,所以转换成字符串进行输出即可。
你的aaa数组赋值之后要遍历才可以
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
HelloWorld duixiang=new HelloWorld();
int[] a={89,-23,64,91,119,52,73};
System.out.println("考试成绩前三名为:");
duixiang.fangfa(a);
}
//定义方法完成成绩排序并输出前三名的功能
public void fangfa(int [] a){
Arrays.sort(a);
int c=0;
for(int i=a.length-1;i>=0;i--){
if(a[i]>100 || a[i]<0){
continue;
}else{
c++;
System.out.println(a[i]);
if(c == 3){
break;
}
}
}
}
}
打印的aaa不对 aaa长度只有三 你赋的值有5个 所以报错
试过qiansan调试成qianSan