-1

这就是问题。请仅使用 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);


     }





}

}

4

3 回答 3

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( );
于 2013-07-06T16:24:40.733 回答
0

您期望一个String/char值并试图获得一个int.

于 2013-07-06T16:27:46.817 回答
0

首先,您正在扫描一个 int 但要求用户输入一个字符。

此外,看起来您正在扫描 Ints,但您将该值存储到 double 中。这将限制用户输入我认为的内容。

于 2013-07-06T16:31:01.970 回答