Java 通过JOptionPane进行If/Else计算
我试图通过JOption消息窗口计算这个if/else语句。提示1可以并返回名称,但我无法通过提示2获得任何计算结果。我猜我需要用我的双倍数字1做点什么,但我不太确定 提前谢谢Java 通过JOptionPane进行If/Else计算,java,if-statement,joptionpane,Java,If Statement,Joptionpane,我试图通过JOption消息窗口计算这个if/else语句。提示1可以并返回名称,但我无法通过提示2获得任何计算结果。我猜我需要用我的双倍数字1做点什么,但我不太确定 提前谢谢 public static void main(String[] args) { Scanner imput = new Scanner(System.in); //ALLOW USER TO INPUT NAME AND MONTHLY INCOME long monthlyIncome = 0
public static void main(String[] args)
{
Scanner imput = new Scanner(System.in); //ALLOW USER TO INPUT NAME AND MONTHLY INCOME
long monthlyIncome = 0;
double newSocSecTax = 0.0;
double oldSocSecTax = 0.0;
String name = JOptionPane.showInputDialog( "Please enter your name: "); //PROMPT 1
String income = JOptionPane.showInputDialog("\nPlease enter your gross monthly income: "); //PROMPT 2
double number1 = Double.parseDouble( income );
if(monthlyIncome >= 110100.00)
{
newSocSecTax = 110100.00 * .062;
oldSocSecTax = 106800.00 * .042;
}
else
{
if(monthlyIncome >= 106800.00)
{
newSocSecTax = monthlyIncome * .062;
oldSocSecTax = 106800.00 * .042;
}
else
{
newSocSecTax = monthlyIncome * .062;
oldSocSecTax = monthlyIncome * .042;
}
}
String message = String.format( "%s, your monthly social security tax will be $%.2f." +
"\nThis is an increase of $%.2f.", name, newSocSecTax, oldSocSecTax );
JOptionPane.showMessageDialog( null, message );
System.exit(0);
}
}您在
monthlyIncome
中没有值,您将输入解析为number1
。这使得monthlyIncome
位于0
,使得税务变量也0
请注意,描述实际发生的事情与预期发生的事情是很有帮助的,否则我们不得不猜测“没有得到任何计算”是什么意思。当然你得到的是计算结果——问题是它们不是你想要的。你没有根据通过“提示”返回的数字1将Monthlyncome设置为任何值。我想你应该将
number1
分配给Monthlyncome
,不是吗?到目前为止,您没有使用number1
,monthlyIncome
在用户输入数字后仍将具有值0
请记住,monthlyIncome
是一个long
变量,因此分配number1
将需要强制转换,并可能导致精度损失(如果用户输入分数),尽管在您的情况下这些可能是可以接受的。将代码更改为
double monthlyIncome = Double.parseDouble( income );
因为在
if else
语句中,您使用的是monthlyIncome
,但在原始代码中,您将值分配给了number1
,很抱歉不够清晰。我是一个编程新手(显然),我想说的是,prompt 2计算返回的是$0.00。如何获取用户输入的字符串并将其用于计算?我有double.parsedouble,但我不确定需要做什么才能正确计算用户输入。我终于找到了答案。只需要将number1改为monthlyIncome并删除顶部的monthlyIncome变量。再次为缺乏明确性表示抱歉,并感谢您的帮助。当我这样做时,表示Monthlyncome已经定义。我已经在上面将其设置为0,这样我就可以捕获用户的数据。事实上,这就成功了。我需要删除顶部的monthlyncome变量。非常感谢你的帮助。