因此,对于该程序,我必须使用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/