在我的程序中,用戶用TEMP輸入一個float
數字(例如TEMP 10.05
)。 該程序應該只採取float
部分,並將其轉換爲fareheit。最後將結果打印出來。 我該怎麼做?如何分隔用字符串輸入的浮點數?
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("The following program takes a float value with the word 'TEMP'in celcius, and converts into farenheit");
System.out.println("Enter the temperature with TEMP: ");
while (true) {
String input = s.next();
//converting into farenheit
if (input != null && input.startsWith("TEMP")) {
float celsius = Float.parseFloat(input.substring(input.indexOf(' ') + 1));
float tempFaren=celcius+32.8;
// float=result
System.out.println("Temperature in farehheit is : "+tempFaren+ " F.");
}
}
}
該方案顯示此錯誤:
你是什麼意思「只採取浮動部分」?你的意思是「一切都在」TEMP「之後?如果是這樣,子串可能是你的朋友... –
這是一個字符串,找出數字開始的位置,提取那部分字符串,然後http://stackoverflow.com/questions/7552660/java-convert-float-to-string-and-string-to-float –
作爲建議,您希望使用'Scanner#nextLine'而不是'Scanner#next',因爲後者會讀取'' TEMP「'而不是float部分 –