用java计算和显示数字

用java计算和显示数字,java,swing,bigdecimal,Java,Swing,Bigdecimal,我有以下代码 double num1 = Double.parseDouble(textArea_price.getText()); double num2 = Double.parseDouble(textArea_quantity.getText()); double result = num1*num2; textArea_result.setText( new BigDecimal(textArea_price.getText()) .multiply(new

我有以下代码

double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());

double result = num1*num2;
textArea_result.setText(
    new BigDecimal(textArea_price.getText())
        .multiply(new BigDecimal(textArea_quantity.getText())).toString());

每次单击按钮时,textArea_price和textArea_quantity中的数字将相乘并显示在textArea_result中。我希望textArea\u result中的值被添加到两个textArea的乘法结果上,而不是每次单击按钮时都重置textArea\u result中的值…

我不懂Java,但这不是吗

double num1 = Double.parseDouble(textArea_price.getText());

double num2 = Double.parseDouble(textArea_quantity.getText());

double oldResult = 0;
String result = textArea_result.getText();
if (result  != "")
    oldResult = Double.parseDouble(result);

double result = oldResult + num1 * num2;
textArea_result.setText(Double.toString(result));
如果您真的想避免If语句尝试这样做,但这只是语法上的糖分:

double num1 = Double.parseDouble(textArea_price.getText());

double num2 = Double.parseDouble(textArea_quantity.getText());

String result = textArea_result.getText();
double oldResult = (result == "") ? 0 : Double.parseDouble(result);

double result = oldResult + num1 * num2;
textArea_result.setText(Double.toString(result));
要么:

double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());
double oldres = Double.parseDouble(textArea_result.getText());

double result = oldres + num1*num2;
textArea_result.setText(Double.toString(result));
或:


为了更快地获得更好的帮助,请发布一个。您可以在执行setText部分之前将该值保存在textArea_结果中,然后将其添加到ToString最前面/后面。。只需将最后一行替换为:textArea_result.setText(Double.toString(result));像这样?嘿,我喜欢Java。它有点怪,有可爱的小写方法名。:)但如果textArea_结果不是一个数字呢?就像第一次按下按钮一样。它是空的吗?@Jordan我在线程“AWT-EventQueue-0”java.lang.NumberFormatException:empty中收到此错误消息异常String@Jordan我相信有一种方法可以不用if语句来实现它。。。我尝试的每件事都会犯同样的错误。。。顺便说一句,我自己是Java新手,正在做一些自我学习:)为什么在没有if语句的情况下要尝试这样做?您遇到的异常是因为您试图解析空字符串。无法分析空字符串。在解析它之前,您必须检查它以确保它不是空的。
BigDecimal price = new BigDecimal(textArea_price.getText());
BigDecimal quantity = new BigDecimal(textArea_quantity.getText());
BigDecimal oldTotal = new BigDecimal(textArea_result.getText());

BigDecimal total = price.multiply(quantity).add(oldTotal);
textArea_result.setText(total.toString());