Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有代码来获取成本,但是我如何重新编写代码来获取名称呢?_Java - Fatal编程技术网

Java 我有代码来获取成本,但是我如何重新编写代码来获取名称呢?

Java 我有代码来获取成本,但是我如何重新编写代码来获取名称呢?,java,Java,我将其输出到一个类似于收据的文件中,但我不确定是否有更好的方法来重写成本,将名称包含在其中 public double getToppingCost() { double toppingCost = 0.0; if (creamCheese.isSelected()) toppingCost += CREAM_CHEESE; if (butter.isSelected()) to

我将其输出到一个类似于收据的文件中,但我不确定是否有更好的方法来重写成本,将名称包含在其中

    public double getToppingCost()
    {

        double toppingCost = 0.0;


        if (creamCheese.isSelected())
            toppingCost += CREAM_CHEESE;
        if (butter.isSelected())
            toppingCost += BUTTER;
        if (peachJelly.isSelected())
            toppingCost += PEACH_JELLY;
        if (blueberryJam.isSelected())
            toppingCost += BLUEBERRY_JAM;
        if (nutella.isSelected())
            toppingCost += NUTELLA;


        return toppingCost;
     }
编辑:这是我的声明。我需要编写这个方法,这样我就可以将名称和仅名称输出到一个单独的文件中,有点像收据

           public final double CREAM_CHEESE = 0.50;
           public final double BUTTER = 0.25;
           public final double PEACH_JELLY = 0.75;
           public final double BLUEBERRY_JAM = 0.75;
           public final double NUTELLA = 0.50;

           public final String CHEESE = "Cream Cheese";
           public final String BUT = "Butter";
           public final String JELLY = "Peach Jelly";
           public final String JAM = "Blueberry Jam";
           public final String NUT = "Nutella";

你可以做的是把所有的配料和它们的价格放在一个数组中,然后循环遍历。看看装饰设计模式,你所说的“包括名称”是什么意思。你所输出的只是一个双精度。我假设BUTTER是一个双精度值。是的,BUTTER是一个双精度值,我希望它在一个单独的方法中,但是如果我复制获取成本的代码并将其粘贴到一个新方法中,然后只更改必要的内容以使其输出名称,它只允许用户选择一个浇头。我需要它来让他们选择多个浇头。你能添加一个例子,显示你期望的输出,其中的名称吗?
toppings.getSelected().stream()
            .map(t -> t.getName() + " - " + t.getPrice())
            .collect(Collectors.joining("\n"));