日期:2014-05-20  浏览次数:20691 次

java一个恼火的程序
Java code
String pubDates=pubDate.getText().length();                  //获得出版日期
        String prices=price.getText().trim();                         //获得价格信息
        int i=Dao.Insertbook(ISBNs,bookTypes,                           //
                bookNames,writers,translators,publishers,              //
                java.sql.Date.valueOf(pubDates),Double.parseDouble(prices)); //
                if(i==1)                                                       //返回一,表示更新成功
                {
                    JOptionPane.showMessageDialog(null,"添加成功");             //
                    doDefaultCloseAction();                                 //
                } 
    }

第一句错了,eclipse提示要把pubDate的类型转换为int,可是转化了这一行对了,但是java.sql.Date.valueOf(pubDates),Double.parseDouble(prices));这一行又错了,并且提示要把类型转化回去为string。
请问何解

------解决方案--------------------
pubDate.getText().getlength()是调用自定义的获取出版日期字符串形式的方法么?检查下getText,getlength这两个方法究竟是获取什么吧。前提错了,后面跟着错。
------解决方案--------------------
朋友你JAVA底子够薄弱的,看看API吧,看看方法需要的参数都是什么类型的先
------解决方案--------------------
哥们,你第一句.length()方法肯定返回的是个int类型数据啊,长度嘛.
至于java.sql.Date.valueOf(pubDates),Double.parseDouble(prices))这一句.因为你把第一句的pubDates改成了int类型,而java.sql.Date.valueOf(pubDates)的参数pubDates需要String类型,所以必须改啊.你原来的pubDates是String所以没提示你改,但是你把第一行的pubDates类型改成int了,后面关于pubDates的引用当然类型会报错了.可以试一试java.sql.Date.valueOf(pubDates.toString())