为什么这个程序有问题?但是先输入字符串就可以呢?
import java.io.*;
public class TestZlx {
  public static void main(String[] args) throws Exception{
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 
   // System.out.println("请输入一个字符串");
   // String s=in.readLine(); 
    System.out.println("请输入一个字符");
    char c=(char)System.in.read();
    System.out.println("请输入一个字符串");
    String s=in.readLine(); 
    int n=0;
    for(int i=0;i<s.length();i++)
    {
      if(s.charAt(i)==c)
      {
        n++;
      }
    }
    System.out.println(n);
  }
}

解决方案 »

  1.   

    为什么改写了System.in,又不用它呢?char c=(char)System.in.read();
    这句改成:
    char c= in.readLine().charAt(0);
      

  2.   

    System.out.println("请输入一个字符");
        char c=(char)System.in.read(); String t=in.readLine();                    //新加的
        System.out.println("请输入一个字符串");
        String s=in.readLine(); 
    ----------------------------------------------
    你在试试
      

  3.   

    我想请问下3楼, (char)System.in.read()是读取一个字符 ,为什么还要在后面+String t=in.readLine();呢 谢谢