我想用java进行这个计算

时间:2017-08-04 10:07:43

标签: java

这是等式 (输入/ 750)* 6 在这里,无论我输入什么值作为输入,它将除以750,然后乘以6 这是我为计算编写的代码示例

    JButton btnCalculate = new JButton("Calculate");
        btnCalculate.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try{
                    String r=textFieldInput.getText();
                    int u=Integer.parseInt("750");
                    String z1 = r / u *6; /*on this line, i'm getting this error "The operator / is undefined for the argument type(s) String, int" */

                    textField.setText(z1);

                }catch(Exception ei) {
                    JOptionPane.showMessageDialog(null, "Invalid Input: Please Enter Number");
}

请问我从哪里开始?

2 个答案:

答案 0 :(得分:0)

String r = textFieldInput.getText();行上,将r定义为字符串,然后在String z1 = r / u *6;中尝试对其进行数学运算。您必须将r设为整数:

int r = Integer.parseInt(textFieldInput.getText());

我在您的代码中看到的另一件事是行int u = Integer.parseInt("750");。您可以只写int u = 750;,也可以像在6中使用String z1 = r / u * 6;一样,只写String z1 = r / 750 * 6;而不使用变量u


最后,您不能直接从数学运算中获得String,变量z1必须是整数:

int z1 = r / u * 6;

或者您必须将方程式转换为字符串:

String z1 = Integer.toString(r / u * 6);

但是有时结果可能是十进制,而不是整数,但是此代码会将结果四舍五入。如果想要十进制结果,则可以编写:

String z1 = Double.toString((double) r / u * 6);
  

(double)r从整数转换为十进制,以便从此等式中获得十进制结果。


需要额外注意的是750/6 = 125,因此您可以将表达式简化为:

String z1 = Integer.parseInt(r / 125);

如果您希望结果为十进制,则只需输入:

String z1 = Double.toString(r / 125.0);
  

125.0被认为是十进制,因此结果将是十进制。


这段代码最简单的形式是:

JButton btnCalculate = new JButton("Calculate");
btnCalculate.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        try{
            int r = Integer.parseInt(textFieldInput.getText());
            String z1 = Integer.toString(r / 125);
            //If you want the decimal result, replace the line above with:
            //String z1 = Double.toString(r / 125.0);
            textField.setText(z1);
        }catch(Exception ei) {
            JOptionPane.showMessageDialog(null, "Invalid Input: Please enter a  number.");
        }
    }
}

答案 1 :(得分:-1)

JButton btnCalculate = new JButton("Calculate");
btnCalculate.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
         try{
               textField.setText(String.valueOf(Double.parseDouble(textFieldInput.getText())*0.008));
            }catch(Exception ei) {
               JOptionPane.showMessageDialog(null, "Invalid Input: Please Enter Number");
}