我想要做的就是寫一個程序,它在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之間的某個值被寫入了「無限次」 –