System.out.println("Please enter a letter:");拿到外面去呀

解决方案 »

  1.   

    import java.io.*;
    public class lr{
    public static void main(String args[]){
        char c='a';
    do{
        
        System.out.println("Please enter a letter:");    try{
        c=(char)System.in.read();
    }catch(IOException e){};
        switch(c){
        case 'L' : System.out.println("Left");
                 break;
        case 'R' : System.out.println("Right");
                 break;
        default : System.out.println("Not Known.");
         break;
                 }
    }while(c!='q');   
    }
    }
      

  2.   

    你的问题是由这个原因引起的:当你输入“L”时,你还得敲“Enter”确认,可这时System.in.read()把这当成两个字符读入了,一个是“L”,另一个是“\n”,所以你的程序就执行了两遍,第一遍显示了“Left”,而第二遍由于字符是“\n”,所以显示的是default中的"Not Known."。
      

  3.   

    import java.io.*;
    public class lr{
    public static void main(String args[]){
        char c='a';
    do{
        
        \\System.out.println("Please enter a letter:");    try{
        c=(char)System.in.read();
    }catch(IOException e){};
        switch(c){
        case 'L' : System.out.println("Left");
                   System.out.println("Please enter a letter:");
                    break;
        case 'R' : System.out.println("Right");
                   System.out.println("Please enter a letter:");
                    break;
        case '\n':
        default : System.out.println("Not Known.");
                  System.out.println("Please enter a letter:");
                    break;
                 }
    }while(c!='q');   
    }
    }
    有点麻烦,但是那个问题解决了,各位大虾还有其他什么方法没有。