2012-03-31 37 views
0

我是新手!我被困在這裏。不知道爲什麼代碼不起作用。從這裏得到什麼幫助?閱讀程序中的字符

import java.util.Scanner; 

public class apples { 

    public static void main(String[] args){ 
     System.out.print("Enter the first letter of the color "); 
     Scanner scan = new Scanner(System.in); 
     char color = scan.next(); 

     switch(color){ 
      case 'r': 
        System.out.println("Red"); 
        break; 

      case 'g': 
        System.out.println("Green"); 
        break; 

      case 'b': 
        System.out.println("Blue"); 
        break; 

      case 'w': 
        System.out.println("White"); 
        break; 

      default: 
        System.out.println("NO Color"); 
        break; 
     } 
    }  
} 
+0

是什麼讓你覺得代碼不起作用? – 2012-03-31 00:48:12

+1

只是爲了讓你知道:每當你格式化這樣的代碼,上帝殺死一隻小貓:( – 2012-03-31 00:55:20

+0

第二次,我已經看到你在幾分鐘後發佈小貓評論。雖然有趣,它是挑剔的... – Steve 2012-03-31 01:28:58

回答

1

你需要

char color = scan.next().charAt(0); 

scan.next()返回String

3

好吧,我不使用Java的太多,但如果我不得不鬥膽猜測:

char color = scanner.next(); 

不正確。 next()函數返回一個字符串,而不是char。所以,你可以有這樣的:

char color = scanner.next().charAt(0); // get the first char in the string 

或者你可以讓color的字符串:

String color = scanner.next(); 
1

scan.next()返回一個字符串。一個快速的解決辦法是從它得到第一個字符,如: scan.next()。charAt(0);