【发布时间】:2014-01-02 19:56:49
【问题描述】:
我正在尝试制作一个计算器,可以计算税收、小费和多人之间的分摊,但最后一个功能不起作用,我不知道为什么。我知道这可能是一个简单的修复,但我是 Java 新手,所以我找不到它。注意:这是我的第一个实际 Java 程序,所以请理解我可能明显的错误。
import java.util.Scanner;
import javax.swing.JOptionPane;
public class TaxFinder {
static Scanner scan = new Scanner(System.in);
public static double priceD, taxD, totalTax, total, priceTipped, pricePP;
public static int peopleI;
public static String price, tax, people, ifTip, tip, ifSplit;
public static void main(String args[]){
ifTip = JOptionPane.showInputDialog("Was your purchase in a restaurant?");
if (ifTip.equalsIgnoreCase("yes")){
price = JOptionPane.showInputDialog("What was the cost of your bill ($)?");
priceD = Double.parseDouble(price);
tax = JOptionPane.showInputDialog("What is your tax rate (decimal)?");
taxD = Double.parseDouble(tax);
tip = JOptionPane.showInputDialog("Do you want to tip 5, 10, 15, or 20% ?");
if (tip.equals("5")){
priceTipped = priceD * .05;
}
else if (tip.equals("10")){
priceTipped = priceD * .1;
//System.out.println("Your price tipped is " + priceTipped);
}
else if (tip.equals("15")){
priceTipped = priceD * .15;
}
else if (tip.equals("20")){
priceTipped = priceD * .2;
}
totalTax = priceD * taxD;
total = priceD + totalTax + priceTipped;
}
else if (ifTip.equalsIgnoreCase("no")){
price = JOptionPane.showInputDialog("How much did your purchase cost ($)?");
priceD = Double.parseDouble(price);
tax = JOptionPane.showInputDialog("What is your tax rate (decimal)?");
taxD = Double.parseDouble(tax);
totalTax = priceD * taxD;
total = priceD + totalTax;
}
JOptionPane.showMessageDialog(null, "Your total is: $" + total, "Shopping Calculator", JOptionPane.PLAIN_MESSAGE);
ifSplit = JOptionPane.showInputDialog("Are you splitting the cost with other people?");
if (ifSplit.equalsIgnoreCase("yes")){
people = JOptionPane.showInputDialog("How many people including you?");
peopleI = Integer.parseInt(people);
pricePP = total / peopleI;
JOptionPane.showMessageDialog(null, "The total is $" + total + " per person", "Shopping Calculator", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "Have a nice day!", "Shopping Calculator", JOptionPane.PLAIN_MESSAGE);
}
else if (ifSplit.equalsIgnoreCase("no")){
JOptionPane.showMessageDialog(null, "Have a nice day!", "Shopping Calculator", JOptionPane.PLAIN_MESSAGE);
}
}
}
【问题讨论】:
-
在计算价格时尝试让peopleI加倍PP
-
@MadProgrammer
total是double -
@ZouZou 我不想投结果,只是划分的一侧...
-
@MadProgrammer 在
pricePP = total / peopleI;中转换peopleI有什么意义?它已经是double/int,所以它不会执行整数除法。或者我没听懂你想要表达的意思。
标签: java swing joptionpane division shopping