2013-07-06 140 views
-1

这是个问题。 请仅使用switch语句来执行此操作。 这是我的代码。当我运行它时,它会给我错误。错误http://prntscr.com/1dvvr7 的SS帮我看看我的代码d:使用switch语句将温度从华氏温度转换为摄氏温度,反之亦然

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); 


    } 





} 

}

+1

我想你忘了问一个问题。 –

+0

问题是我的代码出了什么问题>。> – xpression

+3

是的,这部分工作有很多错误。它看起来不像是一个诚实的尝试的果实。 –

回答

0

你的问题就在这里

temp=keyboard.nextInt();

您可以使用其他读者BuffererReader

char temp = keyboard.nextLine().charAt(0);

代码中的另一个问题:

温度应该是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(); 
+0

...和'// code'应该只出现一次:) –

+0

@MarkoTopolnik xD我编辑 – nachokk

+0

感谢使用这个工作char temp = keyboard.nextLine()。charAt(0); – xpression

0

你期待一个String/char值,并试图获得int

0

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

此外,它看起来像您正在扫描Ints,但您将该值存储到一个双。这将限制用户在他们可以输入的内容方面的想法。

相关问题