为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输入的name的第二次和第三次是中文,出现很多拼音+中文???

package com.imooc.collection;


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(String为ID类型,Student为学生对象类型)

public MapTest(){

this.students = new HashMap<String,Student>();

}

/*

* 测试添加的方法:输入学生ID,判断是否被占用

* 若未被占用,则输入姓名,创建新学生对象,并且

* 添加到students中

*/

public void testPut(){

//创建一个Scanner对象,用来获取输入的学生ID和姓名

Scanner console = new Scanner(System.in);

//循环输入学生的ID

int i=0;

while(i<3){

//接收学生输入的ID

System.out.println("请输入学生的ID:");

String ID=console.next();

//p判断该ID是否被占用

Student st = students.get(ID);//Map.get方法turn返回values值,false返回null

if(st == null){

//没有对应的values时,接收学生姓名

System.out.println("请输入学生姓名:");

String name = console.next();

//创建学生对象,把输入的ID和name添加到学生集中

Student newStudents=new Student(ID,name);

students.put(ID, newStudents);

System.out.println("成功添加学生:"+students.get(ID).name);

//System.out.println("成功添加学生:"+students.get(ID));

i++;

}else{

System.out.println("该学生的ID已存在!");

continue;

}

}

}

/*

* 测试keySet方法

*/

public void testKeySet(){

//通过KeySet方法,返回Map中的所有“键”的Set集合

Set<String> keySet=students.keySet();

System.out.println("总共有:"+keySet.size()+"个学生");

//使用Srting类型的变量名stuId遍历keySet中的值。再用Map.get方法返回对应的values值;

for(String stuID : keySet){

Student st = students.get(stuID);

if(st != null){

System.out.println(st.id+st.name);

}

}

}

public static void main(String [] args){

MapTest mt = new MapTest();

mt.testPut();

mt.testKeySet();

}http://img1.sycdn.imooc.com//57602f8b00015e9905250504.jpg

}


正在回答

2 回答

你输入姓名时,把鼠标移到最下面,这种情况是你输入时,你的光标在上面,你输入拼音时 ,不会显示出来。但确实添加到了name

0 回复 有任何疑惑可以回复我~

没人有这种情况出现?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输入的name的第二次和第三次是中文,出现很多拼音+中文???

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号