gpt4 book ai didi

java - NetBeans Java 计算器查询

转载 作者:行者123 更新时间:2023-11-30 11:24:59 27 4
gpt4 key购买 nike

我有一个小问题,当我乘以例如 5*5 时,答案将是 25。但是当乘以 5*5*5 时,答案仍然是 25..帮助?

变量

public class Calculator extends javax.swing.JFrame {

double total;
double input;

boolean plus = false;
boolean multi = false;
boolean division = false;
boolean minus = false;
}

乘法按钮

private void btnMultiActionPerformed(java.awt.event.ActionEvent evt) {                                         
input = Double.parseDouble(txtArea.getText());

total = input;
multi = true;
txtArea.setText(null);
}

等于按钮

private void btnEqualsActionPerformed(java.awt.event.ActionEvent evt) {                                          

if (plus == true )
{
input = Double.parseDouble(txtArea.getText());
total = input + total;
}
else if (minus == true)
{
input = Double.parseDouble(txtArea.getText());
total = input - total;
}
else if (multi == true)
{
input = Double.parseDouble(txtArea.getText());
total = input * total;
}
else if (division == true)
{
input = Double.parseDouble(txtArea.getText());
total = input / total;
}
else
{
}

txtArea.setText("" +total);


}

最佳答案

您正在将输入 (5*5) 解析为 Double,结果为 5,因为 *5 不是 Double 的一部分。

然后您将input 分配给total。然后将 inputtotal 相乘,得到 25。

您的逻辑完全按照指令去做,但您确实想计算一些东西。这将变得更加困难。

5*5*5 的情况下,您的 input 将再次只是 5

我已经为您的程序解释了为什么 5*5 = 255*5*5 = 25

解决方案是制作某种解析引擎,翻译如下:

  • 5*5mul(5, 5)
  • 5*5*5mul(5, mul(5, 5))

然后有它背后的 Java 操作来真正计算它。

关于java - NetBeans Java 计算器查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20492918/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com