这是个问题。 请仅使用switch语句执行此操作。 这是我的代码。当我运行它时,它给了我错误。 SS错误http://prntscr.com/1dvvr7 帮我处理我的代码D:
public static void main(String[] args)
{
double Degrees_F,f,F;
double DegreesC,c,C;
double x;
int temp;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter temperature ");
x=keyboard.nextInt( );
System.out.println("Enter C or c for Celcius or an F/f for Fahrenheit");
temp=keyboard.nextInt( );
switch (temp)
{
case 'C':
Degrees_F = 9*(x/5)+32;
System.out.println(x+"n Fahrenheit is"+Degrees_F);
break;
case 'c':
Degrees_F = 9*(x/5)+32;
System.out.println(x+"n Fahrenheit is"+Degrees_F);
}
}
}
答案 0 :(得分:0)
您的问题在这里
temp=keyboard.nextInt( );
您可以将其他读者用作BuffererReader
或
char temp = keyboard.nextLine().charAt(0);
您的代码中的另一个问题:
temp应为char
switch(temp){
case 'C':
case 'c':
Degrees_F = 9*(x/5)+32; // Degrees_F should be degreesF
System.out.println(x+"n Fahrenheit is"+Degrees_F);
break;
default:
// show an error message;
}
//另一个
System.out.println("Enter temperature ");
x=keyboard.nextDouble( );
答案 1 :(得分:0)
您期望获得String/char
值并尝试获得int
。
答案 2 :(得分:0)
首先,您正在扫描一个int,但要求用户输入一个字符。
此外,看起来您正在扫描Ints,但是您将该值存储为double。这会限制用户在我想到的输入方面。