2017-10-21 125 views
-1
public static void main(String[] args) { 

    System.out.println("Bitte geben Sie einen Betrag und den Buchstaben der gewunschten Wahrung ein."); 

    try { 
     Scanner input = new Scanner(System.in); 

     double betrag = input.nextInt(); 
     String wahrung = input.next();  
     double result = 0; 

     switch(wahrung.charAt(0)) { 
      case d: 
       result = betrag * 1.18; 
       System.out.println(result); 
       break; 
      case p: 
       result = betrag * 0.88; 
       System.out.println(result); 
       break; 
      case f: 
       result = betrag * 0.88; 
       System.out.println(result); 
       break; 
     } 
    } catch (Exception e) { 
     System.out.println("Bitte geben Sie eine Zahl ein."); 
    } 
} 

当我尝试编译它,它说:爪哇 - 错误:无法找到符号 - 开关/箱

Rechner.java:18:错误:无法找到符号 情况d: ^ 符号:可变d 位置:类雷希纳 Rechner.java:22:错误:找不到符号 情况p: ^ 符号:变量p 位置:类雷希纳 Rechner.java:26:错误:找不到符号 情况下f: ^ 符号:变量f 位置:类雷希纳

请帮助

+3

它的字符''p''不仅没有'p' –

+0

真棒,我讨厌这些小东西.. – xVaskii

+2

坚持下去,你也会得到它的窍门:) –

回答

2

你使用一个char切换,所以每种情况下也应该是一个char值。

尝试

switch(wahrung.charAt(0)) { 
      case 'd': 
       result = betrag * 1.18; 
       System.out.println(result); 
       break; 
      case 'p': 
       result = betrag * 0.88; 
       System.out.println(result); 
       break; 
      case 'f': 
       result = betrag * 0.88; 
       System.out.println(result); 
       break; 
     }