hello涩郎 2014-07-30 16:18 采纳率: 0%
浏览 2097
已采纳

初学者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行。。。

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

  • 写回答

3条回答 默认 最新

  • Vera_Q 2014-07-31 01:25
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办