这个是我程序的一个片段 有问题
try
        {    
             System.out.print("您的输入: ");
             int  tempint=System.in.read()-48;
          while(true)
        {
            if(tempint==1)
            {  
                
                System.out.print("请输入要查找的姓名 :");
               isright=input.readLine();//这里他不会等待输入而是继续向下走到**处 
                
                for(int i=0;i<vector.size();i++)
                {   
                     Person ps=(Person)vector.get(i);
                    if(isright.equals(ps.name))
                    {
                        System.out.println("这是找到的全部信息:");
                        System.out.println(vector.get(i));
                    }
                    
                }
                System.out.println("是否继续查找:yes or no");
                System.out.print("您的输入是:");//就是这里
                isgoon=input.readLine();
                if(isgoon.equals("no"))
                {
                    System.out.println("多谢使用本系统的查询功能 欢迎使用其他的功能");
                    //break;
                }
                
                
            }十万火急  请各位帮忙

解决方案 »

  1.   

    isright=input.readLine();//这里他不会等待输入而是继续向下走到**处 input是什么?
      

  2.   

    input 是BufferedReader input=new BufferedReader(new InputStream(System.in))
      

  3.   

    isright=input.readLine();
    while(isright != null)
    {
    //do something
    }then
    ....
      

  4.   

    我不是这个意思 我的意思是 我想从键盘读入数据 但是在cmd下却没有等待时间
      

  5.   

    int tempint=System.in.read()-48;
    这里也改成BufferedReader中读取试试另外能不能把代码贴全,也好调试
      

  6.   

    System.out.print("您的输入: ");
    System.out.print("请输入要查找的姓名 :");
    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    String isright = input.readLine();
      

  7.   

    如果都该成input.readline()就好了 谢谢你了
      

  8.   

    int  tempint=System.in.read()-48;
    因为在这里你在键盘按下1后,注意:::你又按了回车换行.所以,你只读到了1,后面的isright=input.readLine();  就读到你键盘的继续输出的回车换行,所以就不会停下来~~~~