初学者JAVA编写的程序问题,请帮我看看哪里错了

这个是程序
mport java.io.*;
public class shuru{
public static void main(String[] args){
try
{

            InputStreamReader is=new InputStreamReader(System.in);
            BufferedReader br= new BufferedReader(is);
              String s;
 **(1)System.out.print("请输入一行内容(直接回车退出程序):")** 
            while((s=br.readLine())!=null&&s.length()!=0);
              {

                      System.out.print("你输入的内容为:"+s);
                      System.out.print("请输入一行内容(直接回车退出程序):");   
               }
        }
     catch(IOException e)
        {
               e.printStackTrace();
        }
   }

}
运行结果:`

C:\Documents and Settings\Administrator\桌面>java shuru
请输入一行内容(直接回车退出程序):hello

你输入的内容为:请输入一行内容(直接回车退出程序):

以下是疑问:
1.为什么会变成这样子,我输完hello后打回车空了一行出来,没显示“你输入的内容为:hello”,再按回车变成“你输入的内容为:请输入一行内容(直接回车退出程序):”这样子了?

2.(1)处加粗的这一行为什么放在这里也行,程序执行的时候不是应该先执行try语句块的第一行的语句吗?那不是会变成先要在控制台输入hello,然后才出现“请输入一行内容(直接回车退出程序):”吗?如果是上面那样,岂不是先执行try语句块的第4行,然后才执行1.2行。。。

新人,正在自学中。。。。。。求解


撒科打诨
浏览 459回答 3
3回答

小怪兽爱吃肉

1.while(...)后面分号去掉,结果就是:请输入一行内容(直接回车退出程序):aa你输入的内容为:aa请输入一行内容(直接回车退出程序):2.是按顺序执行的, 第一句只是个流 ,你可以加个断点看看在这里 流可以看成是一条与键盘连接的路,只是打开了个通道 看不到效果啊。键盘输入了才能读 所以停在了读的前一句。键盘输入的内容 顺着 流那条路 过来了 只要你不读 就没有效果。就是说读之前的操作 该怎么来还是按顺序执行着。

暮色呼如

一眼就看出来import少打了个i,然后就看不懂了,我也初学☺
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java