张孝祥专栏

以平常心工作,远离忧虑,除了让自己快乐,也要让别人快乐!

用户操作
[即时聊天] [发私信] [加为好友]
张孝祥ID:zhangxiaoxiang
556306次访问,排名75好友4人,关注者145
zhangxiaoxiang的文章
原创 129 篇
翻译 0 篇
转载 2 篇
评论 339 篇
张孝祥的公告
《深入体验Java Web开发内幕——高级特性》已经出版。 传智播客开展:先培训,就业后再还款活。详细信息查询:http://www.itcast.cn/goodnews.htm
最近评论
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
kwlong2008:

来看看朋友,最近过的怎么样?俺的空间是介绍
网站制作网站建设的,有时间也常去一下我的空间谢谢,
programmer_duncan:谢谢张老师分享!!!
文章分类
收藏
    相册
    传智播客原创教材展示
    培训
    《深入体验javaweb开发内幕——高级特性》出版啦!
    培训就业后还款计划正式启航
    良少的blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 一个简单的怪问题收藏

    新一篇: 一个让98%的Java程序员犯难的偏门问题! | 旧一篇: 非宁静无以致远,非淡薄无以明志!

    一个学员问了一个关于IO的怪问题,问题是这样的:读取键盘输入的一个字符,然后打印输出这个字符,在打印字符的前面和后面分别加了一个字符串,程序的代码如下:

     

    public class Test

    {

           public static void main(String [] args) throws Exception

           {

                  System.out.print("Input a char:");

                  char ch = (char)System.in.read();

                  System.out.println("hello" + ch + "AB");

           }

    }

     

    编译并运行这个程序。

    1)输入字符“a”,命令行窗口打印输出的结果如图1所示,与我们预期的一样。

    1

     

    2)重新运行这个程序,直接按下回车键,在命令行窗口打印输出的结果如图2所示。这时,打印输出的结果是:打印语句中字符后面的字符串“替换”了字符前面的字符串中的部分字符,即打印输出字符串“ABllo”。

    2

     

    请大家都来想一想,为什么在输入普通字符时,输出的结果是正常的;而直接按下回车键,后面的字符串就“替换”了前面的字符串,并且没有输出回车换行符呢?

     --------------------

    上面的问题,是我分析出原因后,为了讲课方便,重新调整的例子,并且写出了错误规律。其实,学员最初的问题非常隐蔽,并没有我上面的案例这么直接,并且找不出错误规律。下面是他当初的程序代码。

     public static void main(String [] args) throws Exception{

      String str="";
      char ch0=0;
      
      System.out.print("intput string and String:");
      do{
       ch0=(char)System.in.read();
       str+=ch0;
      }while(ch0!='#');
      char ch/*='0'*/;
      System.out.print(str);
      ch=(char)System.in.read();
    System.out.println("hello" + ch + 'b'); 
     }

    发表于 @ 2006年08月09日 15:55:00|评论(loading...)|编辑

    新一篇: 一个让98%的Java程序员犯难的偏门问题! | 旧一篇: 非宁静无以致远,非淡薄无以明志!

    评论

    #zhaoyangjay 发表于2008-06-07 00:02:32  IP: 121.233.184.*
    我怎么没遇到?我直接按下回车结果是
    Input a char:

    hello
    AB
    IDE:netbeans
    jdk:jdk1.6
    ?为什么?
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 张孝祥