Я делаю программу для преобразования одной температуры в другую. Например, по Фаренгейту до Цельсия, по Цельсию до Фаренгейта, по Цельсию до Кельвина и т. Д.Логическая ошибка при преобразовании температуры
У меня настроен графический интерфейс, но теперь я получаю ошибки во время преобразования. Я искал методы преобразования, но, похоже, не нашел. Поэтому я пишу их на основе формул, которые я видел в Интернете.
private static class EventHandler implements ActionListener {
/**
* this method gets called when an object we are listening to is interacted with
*
* @param evt ActionEvent that interacted with
*/
public void actionPerformed(ActionEvent evt) {
//creates the formating we would like for the numbers
DecimalFormat df = new DecimalFormat("#.##");
//if the event triggered was celInput than
if (evt.getSource() == cText) {
String strcText = cText.getText();
double cTemp = Double.parseDouble(strcText);
fText.setText("" + convertCtoF(cTemp));
kText.setText("" + convertCtoK(cTemp));
}else if(evt.getSource() == fText) {
String strfText = fText.getText();
double fTemp = Double.parseDouble(strfText);
cText.setText("" + convertFtoC(fTemp));
kText.setText("" + convertFtoK(fTemp));
}else if(evt.getSource() == kText) {
String strkText = kText.getText();
double kTemp = Double.parseDouble(strkText);
cText.setText("" + convertKtoC(kTemp));
fText.setText("" + convertKtoF(kTemp));
}
}//end actionPerformed method
}
public static double convertCtoF(double c) {
return (c/(5/9)) + 32;
}
public static double convertFtoC(double f) {
return (5/9) * (f - 32);
}
public static double convertCtoK(double c) {
return c + 273.15;
}
public static double convertFtoK(double f) {
return convertFtoC(f) + 273.15;
}
public static double convertKtoC(double k) {
return k - 273.15;
}
public static double convertKtoF(double k) {
return ((9/5) * convertKtoC(k)) + 32;
}
Это все код, который, по моему мнению, понадобится для того, чтобы найти логическую ошибку.
Любая помощь будет принята с благодарностью, так как я не понимаю, почему это происходит.
Какая у вас ошибка? –
Точная ошибка при компиляции. Но когда я ввожу 27 в конверсионную коробку, я получаю 270.2 (повторяю) вместо 80.6. И кельвин получает -2.7 (повторяется) вместо 300. – TaylorTDHouse