A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 2528870651 于 2014-4-6 16:08 编辑

刚刚练习String上课时的代码,可是当我执行下面的代码是结果却是这样的。。。。。。。。明明只执行了一次,可是为什么这里有2次,试了好多次,偶尔有这样的结果
  1. class StringMethodDemo
  2. {
  3.         static void sop(Object obj)
  4.         {
  5.                 System.out.println(obj);
  6.         }
  7.         //获取
  8.         static void method_get(String s)
  9.         {
  10.         
  11.          sop("字符串的长度为:"+s.length());
  12.             sop(s.charAt(3));
  13.         }
  14.         public static void main(String[] args)
  15.         {
  16.                 String s = "abcdefghijklm";
  17.                 method_get(s);
  18.         }
  19. }
复制代码


捕获.PNG (10.29 KB, 下载次数: 63)

捕获.PNG

29 个回复

倒序浏览
本帖最后由 nestor 于 2014-4-6 15:02 编辑

看了几遍这段代码都没发现问题
看看是不是有其他关联着

这个是我运行的结果

回复 使用道具 举报
因为你的method_get方法里面又调用了2次sop方法,而每次调用sop都要System.out.println("");,而你main()有调用一次method_get方法,所以相当于要输出2次啊
求分,嘿嘿,我也学习零基础JAVA不过我有C基础,基本能看懂点
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:08
因为你的method_get方法里面又调用了2次sop方法,而每次调用sop都要System.out.println("");,而你main() ...

看仔细一点 啊 !!  不是每次都会输出2次,只有很少的次数会出现输出2次,一般都是输出1次
回复 使用道具 举报
nestor 发表于 2014-4-6 15:01
看了几遍这段代码都没发现问题
看看是不是有其他关联着

是的 偶尔会输出2次, 我试了2,30 次才出现输出2次的情况
回复 使用道具 举报
nestor 发表于 2014-4-6 15:01
看了几遍这段代码都没发现问题
看看是不是有其他关联着

他的意思是为什么main()只调用了一次methed方法,而打印出来2次,而不是程序本身的错误,其实他的这个程序相当于调用了2次sop()方法,所以才会答应2次
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:13
看仔细一点 啊 !!  不是每次都会输出2次,只有很少的次数会出现输出2次,一般都是输出1次 ...

不好意思,是我看错了,该打,我再好好看看,互相学习,你用的什么编辑器
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:16
他的意思是为什么main()只调用了一次methed方法,而打印出来2次,而不是程序本身的错误,其实他的这个 ...

sop("字符串的长度为:"+s.length());  //打印: 字符串的长度为:13
sop(s.charAt(3));                             // 打印:d

可是后面怎么还打印了一次啊,后面没有调用了。。。。你看看红圈里的
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:19
不好意思,是我看错了,该打,我再好好看看,互相学习,你用的什么编辑器 ...

编辑器??
EditPlus 老毕上课用的编辑器
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:21
sop("字符串的长度为:"+s.length());  //打印: 字符串的长度为:13
sop(s.charAt(3));                ...

这个是我看错了,他意思是为什么有时候会连续打印2次,而我当成为什么每次都会输出2次,不好意思,打自己脸了,互相学习,
回复 使用道具 举报
帮你复制重新运行了N次,都至少1次,没有出现2次,建议你复制代码重新建立一个java文件运行 试试
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:30
帮你复制重新运行了N次,都至少1次,没有出现2次,建议你复制代码重新建立一个java文件运行 试试 ...

没有出现红圈里面的情况???
怪了!
我重开一个试试。。
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:23
编辑器??
EditPlus 老毕上课用的编辑器

我记事本调试了N次都正常啊,
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:32
没有出现红圈里面的情况???
怪了!
我重开一个试试。。

没有,我用记事本复制的,在dos下运行的e
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:37
我记事本调试了N次都正常啊,

嗯呢 ?? 有时候连续按java StringMethodDemo 会出现这样的情况 ,但是出现3秒之内会自动消失,可能是我执行的太快了,可是第一次我截图的时候结果没有自动消失。

好了,不要在纠结这个问题了,这不是程序的问题。
希望有一个大神能够告诉我原因。。。。。
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:41
嗯呢 ?? 有时候连续按java StringMethodDemo 会出现这样的情况 ,但是出现3秒之内会自动消失,可能是我 ...

你的技术分好高啊,你进入到哪一环节了,打算报哪一期的啊
回复 使用道具 举报
ilvsoft 发表于 2014-4-6 15:44
你的技术分好高啊,你进入到哪一环节了,打算报哪一期的啊

额 , 一个环节都没进入
不过打算报36
回复 使用道具 举报
2528870651 发表于 2014-4-6 15:46
额 , 一个环节都没进入
不过打算报36

哦,那加油36期还远啊,我打算报33期的呢,不知道来及不
回复 使用道具 举报
本帖最后由 2528870651 于 2014-4-6 15:50 编辑
ilvsoft 发表于 2014-4-6 15:44
你的技术分好高啊,你进入到哪一环节了,打算报哪一期的啊

你呢??技术分很容易啊 !
各种活动得了13个技术分,然后问各种问题,回答各种问题就ok了,不过回答问题的时候要回答详细一点,最好附上代码。
回复 使用道具 举报
建议换编辑器,用Eclipse试试,我以前用NotePad++时也经常出问题
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马