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