但是我遇到了一个问题,在尝试输入数字时,会发出两次?所以我输入(x)数字,它会向下放空,并要求另一个数字?即使我只输入一个?
(参见输出代码以便更好地理解)
这是我的代码:
import java.util.Scanner;
public class FahrenToCelcius {
private static Scanner sc;
public static void main(String[] args) {
double celsius, fahrenheit;
System.out.println("Enter your temperatures");
sc = new Scanner(System.in);
int[] temperatures = new int[5];
for(int i = 0; i < 5; ++i) {
temperatures[i] = sc.nextInt();
fahrenheit = sc.nextDouble();
celsius =(fahrenheit-32)*(0.5556);
System.out.println("Temperature in Celsius:"+celsius);
}
}
}
输出:
Enter your temperatures
100
100
Temperature in Celsius:37.7808
100
100
Temperature in Celsius:37.7808
100
100
Temperature in Celsius:37.7808
我只希望用户也必须输入一次。帮助
答案 0 :(得分:2)
您没有使用数组int[] temperatures
,因此您可以删除插入其中的语句...
如果您真的想将值保留在数组中。只需使用Double[] temperatures
,然后阅读您的扫描仪。
...
fahrenheit = sc.nextDouble();
temperatures[i] = fahrenheit;
...
简而言之,如果您只想输入一个输入,则只能读取扫描仪。