JAVA菜鸟问题!!!
例如一个购物车的程序,一开始要求输入1加入新的物品,2结帐。然后如果加入新的物品,就要求用户输入新的物品的名字价钱和数量,如果是2则输出所有物品的一个清单(名字价钱和数量...
例如一个购物车的程序,一开始要求输入1 加入新的物品,2 结帐。然后如果加入新的物品,就要求用户输入新的物品的名字价钱和数量,如果是2则输出所有物品的一个清单(名字价钱和数量),然后有一个总价出现。如果加入了三件以上的物品,就显示超出了,然后自动结帐。
JAVA菜鸟,不会关于数组方面的东西,求讲解阿。
需要两个 .java的文件。
我有要求的UML,如下。
Item.java
- price: double
- quantity: int
- itemName: String
+ Item ()
+ Item (String, int, double)
+ calcTotalPrice () : double
+ toString () : String
求讲解求帮助!!!谢谢!!!!^3^ 展开
JAVA菜鸟,不会关于数组方面的东西,求讲解阿。
需要两个 .java的文件。
我有要求的UML,如下。
Item.java
- price: double
- quantity: int
- itemName: String
+ Item ()
+ Item (String, int, double)
+ calcTotalPrice () : double
+ toString () : String
求讲解求帮助!!!谢谢!!!!^3^ 展开
1个回答
展开全部
楼主要求两个java文件我有些困惑,如果是为了体现面向对象,那完全可以在一个java文件里面写两个类,一个是public的——带有main()方法,以启动程序,比如命名为ShoppingCar。再写一个一般类Item(也可写成内部类,方便访问Item里的成员变量)。购物车类里面大致可写成:有一个装物品的容器:ArrayList<Item> items = new ArrayList<Item>();从标准输入台System.in获取数据后封装成Item类型的数据使用容器的add()方法(即你的+ Item ()、+ Item (String, int, double),参数可以自己设置)添加即可。calcTotalPrice ()方法可以这样实现:对容器遍历,拿出各个物品,使用物品的getPrice()方法取得价格,然后将价格逐个相加:for(Interator ir = ltems.interator();ir.hasNext();){Item i = ir.next();double price = i.getPrice();double sum +=price;}。toString()方法要不要重写呢?我觉得问题不大,不知道你想起到什么效果。同样学java没几年,希望能帮到你O(∩_∩)O~
追问
那个uml是老师要求的 所以应该不能变成
我刚学一个礼拜 对java还是一片混乱
是不是我这个程序一定要数组啊 我完全不会数组啊。。。
那个老师要求我们要两个java文件,我现在比如在item class里面有item(),然后我在有main的文件里面想要把输入的值存进去怎么存啊?
追答
uml的问题无关重要,我也是按你的思路来的,只是名字不同而已(只有一点不同)。不是数组的问题——而是一定要有存储的数据结构,数组、容器、外部连接数据库等等都可以,但显然数据库什么的就有点小题大作了,数组和容器是比较适合的,推荐后者——能动态改变大小,灵活性好,而且提供的方法比较多,应用方便(可查API。温馨提示:API是作为一个程序员的最佳伴侣,你没事不找她找谁呢O(∩_∩)O~)。首先,楼主的item()构造方法还是一个普通的添加物品的方法(我第一次回答时将其当做添加物品的方法理解的,即我写的add()方法。)上面说的就比较清楚了,我再理一下思路:1.先对标准输入System.in用处理流封装,比如DataInputStream2.使用DataInputStream他的方法获取你输入的物品的属性。拿出来可再封装成item类。3.再将拿到的item类使用容器的add方法添加即可。main方法可以只是启动程序而不必把上面的实现写到main方法里——这也是面向对象的思想。代码在这里显示不方便,如有什么问题再追问好了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询