这是出错的界面,萌新开始学java,错误老多了
题目要求是写一个打印学生成绩表的程序,成绩表包括学号,姓名,成绩,要求用list和map实现
下面是我的代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.TreeMap;
public class StuScore{
public static void main(String args[])
{
System.out.println("学生成绩打印程序");
String[] names={"刻晴","甘雨","胡桃","凝光","魈","钟离","行秋","重云","辛焱","公子","七七","香菱","北斗","班尼特","琴","凯亚","丽莎","安柏","雷泽","可莉","温迪","迪奥娜","芭芭拉","莫娜","砂糖","菲谢尔","罗莎莉亚","烟绯","旅行者","派蒙"};
ArrayList<String> a=new ArrayList<String>();
for(int i=0;i<30;i++)
{
a.add(new Student(i+1,(int) (40*Math.random()+60),names[i]));
}
// Collections.sort(a, new Sortbyscore());
for(Student sd:a)
System.out.println(a);
}
}
class Student{
int num,score;
String name;
public Student(int num,int score,String name)
{
this.num=num;
this.name=name;
this.score=score;
}
public String toString()
{
return 201303+this.num+"\t"+this.name+"\t"+this.score;
}
}
/*class Sortbyscore implements Comparator<Student>{
@Override
public int compare(Student s1, Student s2) {
if(s1.score>s2.score)
return 1;
if(s1.score<s2.score)
return -1;
if(s1.score==s2.score)
return s1.name.compareTo(s2.name);
return 0;
}
}
*/
a.add(new Student(i+1,(int) (40*Math.random()+60),names[i]));
a是string数组啊,你怎么能把Student类对象加入进去呢?你可以定义Student的数组啊
ArrayList<String> a=new ArrayList<String>();
改成
ArrayList<Student> a=new ArrayList<Student>();