代码的问题

来源:5-2 学生选课---使用 Map 添加学生

有梦想丶的咸鱼

2017-05-31 14:30

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class MapTest {
 //用来承装学生类对象
	public Map<String,Student>students;
	//在构造器中初始化students属性
	public MapTest(){
		this.students=new HashMap<String,Student>();
	}
	//测试添加:输入学生ID判断是否被占用
	//若未被占用,则输入姓名,创建学生对象,并且添加到students中
	public void testPut(){
	Scanner console=new Scanner(System.in);
	int i=0;
	while(i<3){
		System.out.println("请输入学生ID:");
		String ID=console.next();
		//判断是ID是否内被占用
		Student st=students.get(ID);
		if(st==null){
			//提示输入学生姓名
			System.out.println("请输入学生姓名:");
			String name=console.next();
			//0创建学生对象
			Student newStudent=new Student(ID,name);
			students.put(ID, newStudent);
			System.out.println("成功添加学生:"+students.get(ID).name);
			i++;
			
		}else{
			System.out.println("该ID已经被占用");
			 
		}
	}
	}
	/*
	 * *测试Map的keySet方法
	 * 
	 */
	public void testKeySet(){
		//通过KeySet方法,但会Map中的所有“键”的set集合
		Set<String> KeySet=students.keySet();
		//取得students的容量
		System.out.println("总用有:"+students.size()+"个学生");
	//通过遍历keySet,取得每一个键,在调用get方法的每个键对应的value值
		for (String stuID:KeySet){
			Student st=students.get(stuID);
			if(st!=null){
				System.out.println("学生:"+st.name);
			}
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		MapTest mt=new MapTest();
		mt.testPut();
		mt.testKeySet();
	}

}


写回答 关注

1回答

  • 6比哄哄
    2017-05-31 20:42:31
    已采纳

    http://img.mukewang.com/592eb9fc0001ed2108150911.jpg

    我将你的代码复制了一遍   运行了一下   可以  没报错  ,你的表述 问题不太清晰,不知道具体问题

    有梦想丶的咸...

    非常感谢!

    2017-05-31 20:49:42

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409764 学习 · 4543 问题

查看课程

相似问题