繁体   English   中英

我想用 java 做这个计算

[英]I want to make this calculation using java

这是方程 (input/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");
}

请问我从哪里去?

在行上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; 或者就像你对String z1 = r / u * 6;6所做的那样String z1 = r / u * 6; 你可以只写String z1 = r / 750 * 6; 并且不使用变量u


最后,你不能通过数学运算直接得到一个字符串,变量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.");
        }
    }
}
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");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM