我这个控制台输出总是乱码

来源:6-2 学生选课---判断 Set 中课程是否存在

水跳居士

2018-07-27 18:17

public class MapTest {


/**

* @param args

*/

public Map<String, Student> students;

public MapTest() {

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

// TODO Auto-generated constructor stub

}

public void nameStudent(){

Scanner input = new Scanner(System.in);

int i= 0;

while (i<3) {

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

String id = input.next();

Student st = students.get(id);

if(st==null){

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

String name = input.next();

Student ns = new Student(id, name);

students.put(id, ns);

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

i++;

}else{

System.out.println("输入的id重复!");

continue;

}

}

public class Course {

public String id;

public String name;

public Course(String id, String name) {

this.id = id;

this.name = name;

}

@Override

public String toString() {

return "Course [id=" + id + ", name=" + name + "]";

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((name == null) ? 0 : name.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Course other = (Course) obj;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

return true;

}

public Course() {

// TODO Auto-generated constructor stub

}

}

public class Student {

public String id;

public String name;

public Set<Course> courses;

public Student(String id, String name) {

this.id = id;

this.name = name;

this.courses = new HashSet<Course>();

}

}


请输入学生ID

1

请输入学生姓名

成功添加:灏�

请输入学生ID


写回答 关注

1回答

  • qq_叶的离去_0
    2018-08-04 16:37:05

    修改编码格式为utf-8

Java入门第三季

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

409771 学习 · 4388 问题

查看课程

相似问题