这是哪里错了呢

这是哪里错了呢

package com.imooc.set;

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

public class CatTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Cat huahua = new Cat("花花", 10, "英国短毛猫");
		Cat fnafan = new Cat("凡凡", 2, "中华田园猫");
		Set<Cat> set = new HashSet<Cat>();
		set.add(huahua);
		set.add(fnafan);
		Iterator<Cat> it = set.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
		Cat huahua1 = new Cat("花花二代", 10, "英国短毛猫");
		set.add(huahua1);
		it = set.iterator();
		System.out.println("添加后的HashSet");
		while (it.hasNext()) {
			System.out.println(it.next());
		}

		System.out.println("=================================查找花花");
		boolean flag = false;
		Cat c = null;
		it = set.iterator();
		while (it.hasNext()) {
			c = it.next();
			if (c.getName().equals("花花")) {
				flag = true;
				break;

			}

		}
		if (flag) {
			System.out.println("花花找到了");
			System.out.println(c);
		} else {
			System.out.println("花花没找到");
		}

		for (Cat cat : set) {
			System.out.println(cat);
			if ("花花".equals(cat.getName())) {
				set.remove(cat);
			}
		}

		System.out.println("输入删除后的元素");
		System.out.println("==============================");
		for (Cat cat : set) {
			System.out.println(cat);
		}
	}

}
package com.imooc.set;

public class Cat {

	private String name;
	private int month;
	private String species;

	public Cat(String name, int month, String species) {
		super();
		this.name = name;
		this.month = month;
		this.species = species;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getMonth() {
		return month;
	}

	public void setMonth(int month) {
		this.month = month;
	}

	public String getSpecies() {
		return species;
	}

	public void setSpecies(String species) {
		this.species = species;
	}

	public String toString() {
		return "姓名:" + name + " 年龄:" + month + " 品种:" + species;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + month;
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + ((species == null) ? 0 : species.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;
		Cat other = (Cat) obj;
		if (month != other.month)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (species == null) {
			if (other.species != null)
				return false;
		} else if (!species.equals(other.species))
			return false;
		return true;
	}

}
for循环那里删除就抛出异常了,这是咋回事呀。。。。。


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 Natura 2018-08-18 00:51:57

http://img1.sycdn.imooc.com//climg/5b76fcf300019bae13660745.jpg

解决了,课程刚刚看到老师说这个,我以为我哪里错了


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师