A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在下的代码中 运行ListTest类,第二次及以后输入总会带个小尾巴,用的是搜狗输入法
如以下运行结果
有以下课程待选:[Course [id=1, name=大学英语], Course [id=1, name=高等数学], Course [id=3, name=大学语文], Course [id=4, name=大学物理], Course [id=5, name=离散数学]]
输入课程名称:
大学英语
你输入的是:大学英语
课程大学英语的索引位置:0
输入课程名称:
大学语文
你输入的是:dx大学语文
输入课程不存在
输入课程名称:


在倒数第三行原本输入的是大学英语却多了个dx





[Java] 纯文本查看 复制代码
package com.imooc.colection;

import java.util.HashSet;
import java.util.Set;

/**
 * 学生类
 * @author Administrator
 *
 */
public class Student {
	private String id;
	private String name;
	private Set<Course> courses;
	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 Set<Course> getCourses() {
		return courses;
	}
	public void setCourses(Course courses) {
		this.courses.add(courses);
	}
	//创建含参构造器
	public Student(String id,String name){
		this.id=id;
		this.name=name;
		this.courses=new HashSet<Course>();
	}

}






package com.imooc.colection;
/**
 * 课程类
 * @author Administrator
 *
 */
public class Course {
	private String id;
	private String name;
	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 Course(String id,String name){
		this.id=id;
		this.name=name;
	}
	/**
	 * 
	 */
	public Course(){
		
	}
	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 (!(obj instanceof Course))
			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;
	}
	
}




import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class ListTest {
	//创建一个list容器用于存放备选课程
	private List coursesToSelect;

	public List getCoursesToSelect() {
		return coursesToSelect;
	}

	public void setCoursesToSelect(List coursesToSelect) {
		this.coursesToSelect = coursesToSelect;
	}
	//创建构造器
	public ListTest(){
		this.coursesToSelect=new ArrayList();
	}
	public void testAdd(){
		Course[] cr={new Course("1","大学英语"),new Course("1","高等数学"),new Course("3","大学语文"),new Course("4","大学物理"),new Course("5","离散数学")};
		coursesToSelect.addAll(Arrays.asList(cr));
		System.out.println("有以下课程待选:"+Arrays.toString(cr));
	}
	public void testIndexOf(){
		System.out.println("输入课程名称:");
		Scanner input=new Scanner(System.in);
		Course cr=new Course();
		String n=input.next();
		System.out.println("你输入的是:"+n);
		cr.setName(n);
		if(coursesToSelect.contains(cr)){
			System.out.println("课程"+cr.getName()+"的索引位置:"+coursesToSelect.indexOf(cr));
		}
		else
			System.out.println("输入课程不存在");
	}
	public static void main(String[] args) {
		ListTest it =new ListTest();
		it.testAdd();
		for(int i=0;i<5;i++){
		it.testIndexOf();
		}
	}
}

2 个回复

倒序浏览
表示暂时还看不懂……
回复 使用道具 举报
我把你代码复制后测试,没有错误,没看到你说的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马