2 qq 31930741 qq_31930741 于 2016.04.23 14:22 提问

Java初学者求教,麻烦了

package cn.xtgj.dao;

import java.util.Iterator;
import java.util.Scanner;
import java.util.TreeSet;

import cn.xtgj.model.Wares;

public class Dao {
Scanner sc=new Scanner(System.in);
String option;
TreeSet set=new TreeSet();//此集合用来装商品的信息
//创建Wares对象
Wares w=new Wares();
//商品添加方法
public void addWares(String name){
boolean bl=false;
//验证该商品是否重复
//首先获取迭代器
Iterator it=set.iterator();
//如果集合不为空,就进去里面判断
while(it.hasNext()){
Wares wares=it.next();
if(wares.getName().equals(name)){
System.out.println("该商品已经存在,请重新输入!");
bl=true;
}
}

if(bl==false){
System.out.println("是否添加? 是(Y) 否(N)");
System.out.println("商品名称:"+name);
option=sc.next();
if("y".equalsIgnoreCase(option)){
w.setName(name);
set.add(w);
System.out.println(set);
}

}
}
}

set.add(w);//就这个会报错,我觉得没哪里有问题啊,麻烦大家解释一下,谢谢!

报错的代码如下:
请选择功能: (A)理货员录入 (B)收银员收款 (C)售货统计、盈利结算

a
请输入你选择要输入的商品的信息:(A)名称 (B)进价 (C)单价 (D)数量
a
请输入要添加商品的名称:
毛巾
是否添加? 是(Y) 否(N)
商品名称:毛巾
y
Exception in thread "main" java.lang.ClassCastException: cn.xtgj.model.Wares cannot be cast to java.lang.Comparable
at java.util.TreeMap.compare(Unknown Source)
at java.util.TreeMap.put(Unknown Source)
at java.util.TreeSet.add(Unknown Source)
at cn.xtgj.dao.Dao.addWares(Dao.java:35)
at cn.xtgj.daomain.WaresSystemMain.main(WaresSystemMain.java:26)

3个回答

CSDNXIAON
CSDNXIAON   2016.04.23 14:32

java初学者
C++和JAVA的区别 -- 给初学者看
初学者学Java(十六)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_31930741
qq_31930741   2016.04.23 14:50

犯了个低级错误,已经做出来了

ljheee
ljheee   Rxr 2016.04.23 14:58

Exception in thread "main" java.lang.ClassCastException强制类型转化错误

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP还真不是一般的麻烦
RT 暂时不想写。。。
XML与DTD - 简单示例(咋个办呢 zgbn)
XML与DTD - 简单示例在项目开发中,会有很多时候使用的XML文件自定义一些配置文件,但是对于xml的标签的命名规则如果没有好的约束的话,在后期修改的时候就会发生麻烦的问题。呵呵,起始在我们编写XML文件的是利用上DTD的话,就会好的多了。不多少说,看看下面的简单的代码,然后自己亲自体验一下就会知道了。<?xml version="1.0" encoding="UTF-8"?> <!-- 约束X
CentOS中安装软件的3种方法及各自优缺点
安装方法1使用rpm安装包的方式RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装相比其他安装方法,优点如下:自动处理了各种软件包可能的依赖关系便于管理,使用rpm命令包可以轻松进行安装、升级、卸载等操作自动生成默认配置,相比使用tar.gz免安装包的方式来说,更加简单便捷,容错率更高...
横竖屏解决办法
Activity横竖屏切换的时候会重新onCreate,如果不想重装载,需要以下设置: 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入 android:screenOrientation=”landscape” 属性,然后不管怎么切换都只是一样的屏幕。 参数说明: landscape = 横向 portrait = 纵向 避免在转屏时重启Act...
CentOS软件安装血泪经验
用CentOS也有半年多了,总结一下CentOS下软件安装的经验教训。往往有些软件在默认的源下面通过yum install这样的方式无法安装,因为centos是rhel编译过来的,去掉了所有关于版权问题的东西,就比如像mplayer这样的播放软件,开发社区提供的repositor
SpringData Jpa、Hibernate、Jpa之间的关系
JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现,JBoss应用服务器底层就以Hibernate作为JPA的实现。既然JPA作为一种规范——也就说JPA规范中提供的只是一些接口,显然接口不能直接拿来使用。虽然应用程序可以面向接口编程,但JPA底层一定需要某种JPA实现,否则JP...
latex输入公式排版
当我们输入的公式较长时,最容易想到的方法是,在会出现越界的情况,使用强制换行\\,但是这种方法在公式中行不通。 通常,我们行间公式的换行可使用split 环境来实现。如 \[ \begin{split} x &= \sqrt {1-y^2}\\ x &= \sqrt[3]{1-y^3} \end{split} \]
STAR NX-510驱动
不用麻烦了 很好用
遇到麻烦了
这次发了9份简历,但一天过去了,没有什么反映,我觉得一定是那里出了问题,这几个公司都是我仔细挑选过的,感觉比较适合才投的,心情不太爽,过两天不行就把简历拿给朋友看看去,是不是写的有问题,只能等待了... 
vba自己做
办公软件自己搞定,不用麻烦了