今天上课老师用C编的小程序例子,我好奇用Java编了下
代码如下:
import java.io.*;public class A
{
    public static void main(String[] args)
    {   
              char strIn = '';
     InputStreamReader in = new InputStreamReader(System.in);
     BufferedReader buffIn = new BufferedReader(in);
     System.out.println("请输入");
     try
     {
     strIn = buffIn.readLine();//命令行读入数据
     }
     catch (IOException e)
     {
     System.out.println(e.toString());
     }
       
                  /*
                  *ACSII码
                  */
     if (strIn <= 48 && strIn >= 57)
     {
     System.out.println("数字");
     }
     else if (strIn <= 97 && strIn >= 122)
     {
     System.out.println("小写字母");
     }
    
     else
     {
     System.out.println("大写字母");
     }
    }
}为什么编译不能通过,是不是用错了类库???readLine方法必需是字符串?
谢谢个位指点!!!

解决方案 »

  1.   

    char strIn = '';//不能这样 strIn= 'a';就ok
     strIn = buffIn.readLine();//命令行读入数据//readLine返回的是String 不能从String转化到char.应该定义String strInt = null;strInt = Integer.parseInt(buffIn.readLine());
      

  2.   

    不好意思 
    应该是int strInt = 0;
    strInt = Integer.parseInt(buffIn.readLine());
      

  3.   

    package others;
    import java.io.*;public class Test02{
    public static void main(String[] args){
    int strIn=0;
    System.out.println("请输入");
         try{
         BufferedReader buffIn = new BufferedReader(
             new InputStreamReader(System.in));
         while((strIn=buffIn.read())!=-1){
                     if (strIn >= 48 && strIn <= 57)
              System.out.println((char)strIn+": 数字");
              else if (strIn >= 97 && strIn <= 122)
              System.out.println((char)strIn+": 小写字母");
              else if(strIn >= 65 && strIn <= 90)
              System.out.println((char)strIn+": 大写字母");
              else System.out.println((char)strIn+": 其他");
         }
             
            buffIn.close();
         }
         catch (IOException e)
         {
         System.out.println(e.toString());
         }
        
     
        }
    }
      

  4.   

    你既然要看字符类型,用read()方法比较好! 
    另:输出时还需要把回车和换行符给屏蔽掉, 它们的值分别是10和13:if(strIn!=13&&strIn!=10)