为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

撒科打诨 2019-04-18 19:19:19
这个是程序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行。。。新人,正在自学中。。。。。。求解
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

1.while(...)后面分号去掉,结果就是:
请输入一行内容(直接回车退出程序):aa
你输入的内容为:aa请输入一行内容(直接回车退出程序):

2.是按顺序执行的, 第一句只是个流 ,你可以加个断点看看

在这里 流可以看成是一条与键盘连接的路,只是打开了个通道 看不到效果啊。键盘输入了才能读 所以停在了读的前一句。键盘输入的内容 顺着 流那条路 过来了 只要你不读 就没有效果。就是说读之前的操作 该怎么来还是按顺序执行着。

查看完整回答
反对 回复 2019-05-06
?
暮色呼如

TA贡献1853条经验 获得超9个赞

一眼就看出来import少打了个i,然后就看不懂了,我也初学☺


查看完整回答
反对 回复 2019-05-06
  • 3 回答
  • 0 关注
  • 458 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信