我想要做的就是写一个程序,它在1-100之间的华氏温度值,并将其转换为摄氏温度。如果代码之间没有值,则应重新运行而不必重新启动程序。我对Java很陌生,但这是我想到的。转换到华氏摄氏度(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可接受的值,则摄氏度值写出“C”“无穷大”时间,但由于某种原因,while循环不会中断。如果有人能够解释我做错了什么,我将不胜感激。
看不出有什么问题。但是,你能否澄清“如果我接着修正摄氏温度的可接受值”? – Gaur93
工作在这里很好(有一些消息添加的System.out了一段时间后,你输入一个合法值后,将打印的信息。)因此,丈二和尚摸不着头脑您发布的测试代码和真正的问题是不同的。 – mtj
如果我第一次运行代码并输入一个不在范围1-100之间的值,代码将重新运行,并弹出消息“无效值,写入新值”。如果我接着写1-100之间的某个值被写入了“无限次” –