新手初学java问题? 20
本人初学java,很多东西不会,以下是一个问题:设计一货物类,字段1:名称(String);字段2:入货时间(Date).编写代码,使得一货物数组中的多个货物对象根据用户...
本人初学java,很多东西不会,以下是一个问题:设计一货物类,字段1:名称(String);字段2:入货时间(Date).编写代码,使得一货物数组中的多个货物对象根据用户选项既可由名称排序也可由入货时间排序。在测试程序中测试货物类实现的功能(可由用户输入三种货物的信息进行测试)。下面是我按照教程写的代码,但是运行不了,求解决方法,谢谢大家
展开
2个回答
展开全部
先说你开发中的错误:
1.类名:这是习惯问题,约定俗成的是首字母大写:请把goods改成Goods,
请看实例化过程:
goods goods = new goods();//这样的容易混淆
Goods goods = new Goods();//这样的才符合规范
2、构造方法,请尽量在前面加上public修饰符。
public Goods(String name,String time){... ...}
3、stus[i]=new goods(words[0],words[i]);
words 的取值是 words=userInput.split(",");
是用户输入的一传字符串分割来的,你能保证用户属于的一定带","符号;
如果用户输入的不带这个符号,那你words的长度只能是1,
退一步说:就算用户输入的符合规范,
我们假定words.length=2
你循环的是stus的长度,我们假定 stus的长度为3,
前两轮循环不会报错,
第三轮循环,
i=2
这时候wrods[i]就是 words[2];
words的长度只有2,下标0和1才有值,2肯定报错,下标越界。
你的编译器肯定报错
Java.lang.ArrayIndexOutOfBoundsException
下次记得把错误发出来。
1.类名:这是习惯问题,约定俗成的是首字母大写:请把goods改成Goods,
请看实例化过程:
goods goods = new goods();//这样的容易混淆
Goods goods = new Goods();//这样的才符合规范
2、构造方法,请尽量在前面加上public修饰符。
public Goods(String name,String time){... ...}
3、stus[i]=new goods(words[0],words[i]);
words 的取值是 words=userInput.split(",");
是用户输入的一传字符串分割来的,你能保证用户属于的一定带","符号;
如果用户输入的不带这个符号,那你words的长度只能是1,
退一步说:就算用户输入的符合规范,
我们假定words.length=2
你循环的是stus的长度,我们假定 stus的长度为3,
前两轮循环不会报错,
第三轮循环,
i=2
这时候wrods[i]就是 words[2];
words的长度只有2,下标0和1才有值,2肯定报错,下标越界。
你的编译器肯定报错
Java.lang.ArrayIndexOutOfBoundsException
下次记得把错误发出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询