如何使物品描述在账单上彼此堆叠?

时间:2018-10-23 23:39:36

标签: java

制作程序来向客户收费。当客户仅购买一件商品时,我没有问题,因为我得到了以下代码:

System.out.println ( description );

如果客户购买的商品多于1件,该怎么办,假设3件!这就是我想要的:

    System.out.println ( description );
    System.out.println ( description );
    System.out.println ( description );

这是描述的初始代码:

if (menu >= 1 && menu <= 4) {
                        System.out.println ("What is the item thay ou need ?(101, 102, 103, 104)");
                        numRepas = Clavier.lireInt();
                        if(numRepas == 101 ){
                            description = DESCRIPTION_101;
                        }else if(numRepas == 102){
                            description = DESCRIPTION_102;
                        }else if(numRepas == 103){
                            description = DESCRIPTION_103;
                        }else if (numRepas == 104){
                            description = DESCRIPTION_104;    }
                }

                else {
                    System.out.println ("***REPONSE INVALIDE!"); 
                } 

2 个答案:

答案 0 :(得分:0)

您需要将购买的商品存储在ListArrayList中。这些是Java提供的特殊集合,用于跟踪对象列表。

对于像您这样的简单用例,我假设descriptionString,则可以这样声明ArrayList

ArrayList<String> itemsPurchased = new ArrayList<>();

在创建列表时,应声明其将包含在<>括号内的元素的类型。在这种情况下,就是String,但是您可以使用选择的任何其他数据模型对象。

ArrayList有几种方法,但是我们将探讨的是如何将add()的项目实际添加到该列表中。您可以通过简单地调用add()方法来实现:

itemsPurchased.add("Item 1");

该项目将被添加到itemsPurchased列表中。现在,您可以使用remove()方法添加甚至删除项目。

那么,如何打印出添加到列表中的所有项目?您使用迭代。您可以使用Iterator类,也可以使用简单的ForEach循环:

for (String item : itemsPurchased) {
    System.out.println(item);
}

实际上还有更多内容,您将需要查看设计要求。您可以从此tutorial site了解有关Java的更多信息。

答案 1 :(得分:0)

使用Collectionlist的{​​{1}},然后使用Java 8 set API来打印数据,即... 考虑到项目描述在字符串中,因此您将拥有该字符串的集合,而Java 8将使它变得简单,只需下面给出的一行代码即可。

stream