То, что я пытаюсь сделать, - написать программу, которая принимает значение Фаренгейта между 1-100 и конвертировать его в цель. если значение не находится между кодом, необходимо повторно запустить без перезапуска программы. Я новичок в Java, но это то, что я придумал.Преобразование fahrenheit в celcius (Java)
package forstaPakage;
import javax.swing.*;
public class FTillC {
public static void main(String[] args) {
int f = Integer.parseInt(JOptionPane.showInputDialog("hur många farenheit?"));
do{
if(f>0 && f<101){
int c = ((f-32)*5)/9;
System.out.println(f + " farhenheit är lika med " + c + " celcius");
break;
}
else{
f = Integer.parseInt(JOptionPane.showInputDialog("Ogiltligt värde, skriv in ett nytt"));
}
}while(f>101 || f<1);
}
}
Этот код почти работает. Он повторно запускается, если «f» не находится между 1 и 100. Если я затем исправлю f приемлемым значением, значение Celsius выписал «C» «бесконечность», цикл while по какой-то причине не сломается. Если бы кто-то мог объяснить, что я сделал неправильно, я был бы признателен.
не может понять, в чем проблема. Но можете ли вы уточнить «если я тогда исправлю приемлемое значение Цельсия»? – Gaur93
Прекрасно работает (добавьте System.out с некоторым сообщением после этого времени, и сообщение будет напечатано после ввода юридического значения.) Таким образом, что-то должно отличаться от кода теста, который вы опубликовали, и реальной проблемы. – mtj
, если я сначала запустил код и введите значение, которое не находится между диапазоном 1-100, повторный запуск кода и всплывающее сообщение «недопустимое значение, напишите новое». если я затем напишу значение между 1-100, значение будет выписано «бесконечные времена» –