因此,对于该程序,我必须使用Java GUI来获取温度和风速,然后从那里计算Windchill。我拥有它,以便当用户单击“计算风速”按钮时,它应使用我输入的公式来计算。但是围绕着这双重我不断收到各种错误,我不确定为什么。您可以在actionPerformed部分中找到该错误,正是“ windChillInt”导致了此错误。谢谢。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Windchill extends JFrame implements ActionListener{
    private static final int FRAME_WIDTH = 300;
    private static final int FRAME_HEIGHT = 200;
    private static final int FRAME_X_ORIGIN = 150;
    private static final int FRAME_Y_ORIGIN = 250;
    private String degree;
    private String wind;
    private int degreeInt;
    private int windInt;
    private double windChillInt;
    private JButton windButton;
    private JLabel prompt;
    private JLabel prompt1;
    private JTextField inputLine;
    private JTextField inputLine1;

    public Windchill(){
        setTitle("Windchill");
        setSize(FRAME_WIDTH, FRAME_HEIGHT);
        setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container contentPane = getContentPane();
        contentPane.setLayout(new FlowLayout());
        inputLine = new JTextField();
        inputLine.setColumns(3);
        inputLine.addActionListener(this);
        contentPane.add(inputLine);
        prompt = new JLabel();
        prompt.setText("Enter the degrees in Farienheight       ");
        prompt.setSize(150,25);
        contentPane.add(prompt);
        inputLine1 = new JTextField();
        inputLine1.setColumns(3);
        inputLine1.addActionListener(this);
        contentPane.add(inputLine1);

        prompt1 = new JLabel();
        prompt1.setText("Enter the wind speed in MPH");
        prompt1.setSize(150,25);
        contentPane.add(prompt1);

        windButton = new JButton("Calculate windchill");
        contentPane.add(windButton);
        windButton.addActionListener(this);
    }
    public void actionPerformed(ActionEvent event){
        if (event.getSource() instanceof JButton){
            JButton clickedButton = (JButton) event.getSource();
            if (clickedButton == windButton){
                degree = inputLine.getText();
                degreeInt = Integer.parseInt(degree);
                wind = inputLine1.getText();
                windInt = Integer.parseInt(wind);
                windChillInt = 0.08(degreeInt - 91.4)        (3.71*math.sqrt(windInt) + 5.81 - 0.25 *windInt) + 91.4;

            }

        }
    }
    public static void main(String[] args) {
        Windchill frame;
        frame = new Windchill();
        frame.setVisible(true);
    }
}


好的,谢谢,我已经开始工作了,但是现在我又遇到了一个问题,它不会像我想要的那样在GUI上显示新的windChillInt。这是我将其更改为的内容。

public void actionPerformed(ActionEvent event){
        if (event.getSource() instanceof JButton){
            JButton clickedButton = (JButton) event.getSource();
            if (clickedButton == windButton){
                degree = inputLine.getText();
                degreeInt = Integer.parseInt(degree);
                wind = inputLine1.getText();
                windInt = Integer.parseInt(wind);
                windChillInt = 0.08 * (degreeInt - 91.4)*(3.71* (Math.sqrt(windInt)) + 5.81 - 0.25 *windInt) + 91.4;

                prompt2 = new JLabel();
                prompt2.setText("The windchill is " + windChillInt);
                prompt2.setSize(150,25);
                Container contentPane = getContentPane();
                contentPane.setLayout(new FlowLayout());
                contentPane.add(prompt2);
            }

最佳答案

我相信问题在于此行:

windChillInt = 0.08(degreeInt - 91.4)        (3.71 * math.sqrt(windInt) + 5.81 - 0.25 *windInt) + 91.4;




windChillInt = 0.08(degreeInt - 91.4)应该是windChillInt = 0.08 * (degreeInt - 91.4)

然后,您需要将windChillInt = 0.08 * (degreeInt - 91.4)(3.71 * math.sqrt(windInt) + 5.81 - 0.25 *windInt) + 91.4相乘,或者将(3.71 * math.sqrt(windInt) + 5.81 - 0.25 *windInt) + 91.4移至其自己的语句并将其分配给某些内容。

关于java - 我尝试进行计算时,Java无法识别 double ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15464514/

10-11 02:34