請大家?guī)兔纯?,是哪里錯了?
package student;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Maptest {
public Map<String,STUDENT> Students;
public Maptest(){
this.Students=new HashMap<String,STUDENT>();
}
public void Testput(){
Scanner console=new Scanner(System.in);
int i=0;
while(i<3){
System.out.println("請輸入學(xué)生ID:");
int ID=console.nextInt();
STUDENT ST=Students.get(ID);
if(ST==null){
System.out.println("請輸入學(xué)生姓名:");
String name=console.next();
STUDENT newStudent=new STUDENT(ID,name);
Students.put("ID", newStudent);
System.out.println("成功添加學(xué)生:"+Students.get(ID).getName());
i++;
}
else{
System.out.println("該ID已被占用!");
continue;
}
}
}
public void Testkeyset(){
Set<String> Keyset=Students.keySet();
System.out.println("總共有:"+Keyset.size());
for(String stuID:Keyset){
STUDENT st=Students.get(stuID);
if(st!=null){
System.out.println("學(xué)生:"+st.getName());
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Maptest mp=new Maptest();
mp.Testput();
mp.Testkeyset();
}
}
2016-02-19
// 創(chuàng)建新的學(xué)生對象
Student newStudent = new Student(ID, name);
// 通過調(diào)用students的put方法,添加ID-學(xué)生映射
students.put(ID, newStudent);
為什么新建的學(xué)生對象里面已經(jīng)有了ID和name 兩個參數(shù)了。在put方法里面還要添加ID這個屬性?
2016-02-09
個人感覺得你的問不是很大,你仔細(xì)看看 其實你在沒有添加對象的時候就開始從student的對象中取元素了!你再看看TestPut方法中這句STUDENT ST=Students.get(ID)的位置!
2016-02-05
package student;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Maptest {
public Map<String,STUDENT> Students;
public Maptest(){
this.Students=new HashMap<String,STUDENT>();
}
public void Testput(){
Scanner console=new Scanner(System.in);
int i=0;
while(i<3){
System.out.println("請輸入學(xué)生ID:");
String ID=console.next();
STUDENT ST=Students.get(ID);
if(ST==null){
System.out.println("請輸入學(xué)生姓名:");
String name=console.next();
STUDENT newStudent=new STUDENT(ID,name);
Students.put(ID, newStudent);
System.out.println("成功添加學(xué)生:"+Students.get(ID).getName());
i++;
}
else{
System.out.println("該ID已被占用!");
continue;
}
}
}
public void Testkeyset(){
Set<String> Keyset=Students.keySet();
System.out.println("總共有:"+Keyset.size());
for(String stuID:Keyset){
STUDENT st=Students.get(stuID);
if(st!=null){
System.out.println("學(xué)生:"+st.getName());
}
}
}
public static void main(String[] args) {
Maptest mp=new Maptest();
mp.Testput();
mp.Testkeyset();
}
}
2016-02-05
package student;
import java.util.HashSet;
import java.util.Set;
public class STUDENT {
private String id;
private String name;
public static Set<CLASS> Class;
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public STUDENT(String id,String name){
this.id=id;
this.name=name;
this.Class=new HashSet<CLASS>();
}
}
STUDENT類
2016-02-05
解決了,,在STUDENT類里的Class加了一個static就解決了,,雖然不知為什么得加static
2016-02-05
System.out.println("成功添加學(xué)生:"+Students.get(ID).getName());
2016-02-05
請輸入學(xué)生ID:
1
請輸入學(xué)生姓名:
小明
Exception in thread "main" java.lang.NullPointerException
at student.Maptest.Testput(Maptest.java:25)
at student.Maptest.main(Maptest.java:49)