麻烦我的餐厅账单程序代码和计算



我需要帮助关于用户订单的计算,似乎选项没有要计算的值,请帮助我如何在每个选项中放置值,还有一件事是我需要帮助额外订单的复选框代码我不是很擅长编程,这是我能做的所有努力。我现在真的需要通过这个项目,所以我需要一个快速的答案,顺便说一下,我对用户的显示有什么问题?

帮助:复选框代码,计算,JOptionPane显示

package project2;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
public class Project2 {
public static void main(String[] args) {
List<String> optionList = new ArrayList<String>();
optionList.add("1");
optionList.add("2");
optionList.add("3");
optionList.add("4");

    double charge;
    double tax = 0.0675;
    double tipRate = 0.15;
    double totalWithTax;
    double taxAmount;
    double tipAmount;
    double grandTotal;
            //selection of food
            Object[] options = optionList.toArray();
            int value = JOptionPane.showOptionDialog(
            null,
            "Please select your Burger:(1 or 2)n 1. Burger                     $3.00 n 2. Cheese Burger      $4.50 "
                    + "n 2. Bacon Burger        $5.50 n 2. Supreme Burger   $7.00",
            "Pick",
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE,
            null,
            options,
            optionList.get(0));

    //calculate the charge and the tip
    taxAmount = charge * tax;
    totalWithTax = charge + taxAmount;
    tipAmount = totalWithTax * tipRate;
    grandTotal = totalWithTax + tipAmount;

            //Display it back to the user
            String opt = optionList.get(value);
            JOptionPane.showMessageDialog(null,"You picked " + opt"  n  meal: $" + charge" n tax: $" + taxAmount" n  meal + tax: $" + totalWithTax" n  total cost(tip included): $" + grandTotal);


}

}

跳过示例中的编译器问题。

你需要一些方法将期权映射到它们的价格,例如…

Map<String, Double> priceList = new HashMap<>(4);
priceList.put("1", 3d);
priceList.put("2", 4.5d);
priceList.put("3", 5.5d);
priceList.put("4", 7d);

然后,一旦用户做出了选择,你就可以得到所选选项的价格,比如…

double price = priceList.get(optionList.get(value));

显示的问题归结为几个问题。除了可能使用可变宽度字体之外,并非所有列的长度都是相等的。

一个巧妙的技巧是使用html table作为显示值,例如

最新更新