public class student{
String name;
int dtuId;
int yuwen;
int shuxue;
int yingyu;
public student(String name,int dtuId,int yuwen,int shuxue,int yingyu)
{
this.name=name;
this.dtuId=dtuId;
this.yuwen=yuwen;
this.shuxue=shuxue;
this.yingyu=yingyu;
}
/*
 * public double pingjun() { return (this.yuwen+this.shuxue+this.yingyu)/3; }
 */
public int getDtuId() {
return dtuId;
}
public void setDtuId(int dtuId) {
this.dtuId = dtuId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getShuxue() {
return shuxue;
}
public void setShuxue(int shuxue) {
this.shuxue = shuxue;
}
public int getYingyu() {
return yingyu;
}
public void setYingyu(int yingyu) {
this.yingyu = yingyu;
}
public int getYuwen() {
return yuwen;
}
public void setYuwen(int yuwen) {
this.yuwen = yuwen;
}
}import java.util.Iterator;
import java.util.Scanner;
import java.util.HashMap;public class Test{ public static void main(String[] args) {
System.out.println("请输入姓名,学好,语文分数,数学分数,英语分数"); HashMap ss = new HashMap();
Scanner dd = new Scanner(System.in); ss.put(1, new student(dd.next(), dd.nextInt(), dd.nextInt(), dd
.nextInt(), dd.nextInt())); Iterator ww = ss.entrySet().iterator();
while (ww.hasNext()) {
student qq=(student)ww.next();
System.out.println(qq.getName()); }
}}

解决方案 »

  1.   

    我也想知道该怎么改  虽然觉得很简单请输入姓名,学好,语文分数,数学分数,英语分数
    xby 10 10 10 10
    Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$Entry cannot be cast to test1.student
    at test1.test2.main(test2.java:24)
      

  2.   

    你的类型转换出错。改成这样就行了while (ww.hasNext()) {
     Map.Entry<Integer, student> entry = (Map.Entry<Integer, student>) ww.next();
     Integer key = entry.getKey();
     student qq = entry.getValue();
     System.out.println(qq.getName()); }
      

  3.   

    for(Object obj : ss.entrySet()) {
    Map.Entry entry = (Map.Entry) obj;
    student e = (student) entry.getValue();
    System.out.println(e.getName());
    }