import java.io.*;
public class tempdetection {
public static int celciustofarenheit(int temp){
int fTemp = ((9 * temp)/5) + 32;
return fTemp;
}
public static void examineTemperature(int temp){
System.out.println("\nTemperature is " + temp + " in celcius. Hmmm...");
int fTemp = celciustofarenheit(temp);
System.out.println("\nThats " + fTemp + " in Farenheit...");
if(fTemp<20)
System.out.println("\n***Burrrr. Its cold...***\n\n");
else if(fTemp>20 || fTemp<50)
System.out.println("\n***The weather is niether too hot nor too cold***\n\n");
else if(fTemp>50)
System.out.println("\n***Holy cow.. Its scorching.. Too hot***\n\n");
}
public static void main(String[] args) throws IOException {
int temperature;
char c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do{
System.out.println("Input:\n(Consider the input is from the sensor)\n");
temperature = Integer.parseInt(br.readLine());
examineTemperature(temperature);
System.out.println("Does the sensor wanna continue giving input?:(y/n)\n");
c = (char) br.read();
}while(c!= 'N' && c!='n'); //if c==N that is no then stop
}
}
これは完全なコードです..私はまだ答えを得ることができません..ネットでたくさん検索しましたが、役に立ちません..また、すでに助けてくれた人に感謝しますが、その喧騒は私の問題を解決します. . SO なぜ文字列に変換する必要があるのですか?? また、メンバーの1つによって指定されたようにキャッチしようとしましたが、examineTemperature(温度)は初期化されていないというエラーをスローします..
Input:
(Consider the input is from the sensor)
45
Temperature is 45 in celcius. Hmmm...
Thats 113 in Farenheit...
***The weather is niether too hot nor too cold***
Does the sensor wanna continue giving input?:(y/n)
N
Input:
(Consider the input is from the sensor)
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at tempdetection.main(tempdetection.java:33)
また、while ループに到達するまでは fyn で動作します。