黑马程序员技术交流社区

标题: 谁能告诉我这是怎么了,电脑也不听话了? [打印本页]

作者: 2528870651    时间: 2014-4-6 14:44
标题: 谁能告诉我这是怎么了,电脑也不听话了?
本帖最后由 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

作者: nestor    时间: 2014-4-6 15:01
本帖最后由 nestor 于 2014-4-6 15:02 编辑

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

这个是我运行的结果


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

看仔细一点 啊 !!  不是每次都会输出2次,只有很少的次数会出现输出2次,一般都是输出1次
作者: 2528870651    时间: 2014-4-6 15:14
nestor 发表于 2014-4-6 15:01
看了几遍这段代码都没发现问题
看看是不是有其他关联着

是的 偶尔会输出2次, 我试了2,30 次才出现输出2次的情况
作者: ilvsoft    时间: 2014-4-6 15:16
nestor 发表于 2014-4-6 15:01
看了几遍这段代码都没发现问题
看看是不是有其他关联着

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

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

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

可是后面怎么还打印了一次啊,后面没有调用了。。。。你看看红圈里的

作者: 2528870651    时间: 2014-4-6 15:23
ilvsoft 发表于 2014-4-6 15:19
不好意思,是我看错了,该打,我再好好看看,互相学习,你用的什么编辑器 ...

编辑器??
EditPlus 老毕上课用的编辑器
作者: ilvsoft    时间: 2014-4-6 15:23
2528870651 发表于 2014-4-6 15:21
sop("字符串的长度为:"+s.length());  //打印: 字符串的长度为:13
sop(s.charAt(3));                ...

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

没有出现红圈里面的情况???
怪了!
我重开一个试试。。
作者: ilvsoft    时间: 2014-4-6 15:37
2528870651 发表于 2014-4-6 15:23
编辑器??
EditPlus 老毕上课用的编辑器

我记事本调试了N次都正常啊,
作者: ilvsoft    时间: 2014-4-6 15:39
2528870651 发表于 2014-4-6 15:32
没有出现红圈里面的情况???
怪了!
我重开一个试试。。

没有,我用记事本复制的,在dos下运行的e
作者: 2528870651    时间: 2014-4-6 15:41
ilvsoft 发表于 2014-4-6 15:37
我记事本调试了N次都正常啊,

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

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

你的技术分好高啊,你进入到哪一环节了,打算报哪一期的啊
作者: 2528870651    时间: 2014-4-6 15:46
ilvsoft 发表于 2014-4-6 15:44
你的技术分好高啊,你进入到哪一环节了,打算报哪一期的啊

额 , 一个环节都没进入
不过打算报36
作者: ilvsoft    时间: 2014-4-6 15:48
2528870651 发表于 2014-4-6 15:46
额 , 一个环节都没进入
不过打算报36

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

你呢??技术分很容易啊 !
各种活动得了13个技术分,然后问各种问题,回答各种问题就ok了,不过回答问题的时候要回答详细一点,最好附上代码。

作者: xuehuayous    时间: 2014-4-6 15:50
建议换编辑器,用Eclipse试试,我以前用NotePad++时也经常出问题
作者: ilvsoft    时间: 2014-4-6 15:50
2528870651 发表于 2014-4-6 15:48
你呢??

我打算报33期的啊,我有C/C++基础,对于面向对象的一些继承,多态等知道点,我想应该容易接受点,所以就打算报33气得
作者: 2528870651    时间: 2014-4-6 15:51
xuehuayous 发表于 2014-4-6 15:50
建议换编辑器,用Eclipse试试,我以前用NotePad++时也经常出问题

不会吧???
没事了我重新开了一次,EditPlus就ok了
作者: 2528870651    时间: 2014-4-6 15:52
可能是编译完执行的时候,执行频率太快了。
作者: 2528870651    时间: 2014-4-6 15:53
ilvsoft 发表于 2014-4-6 15:50
我打算报33期的啊,我有C/C++基础,对于面向对象的一些继承,多态等知道点,我想应该容易接受点,所以就 ...

大哥,你什么专业的啊
计算机专业???
作者: ilvsoft    时间: 2014-4-6 15:57
2528870651 发表于 2014-4-6 15:53
大哥,你什么专业的啊
计算机专业???

软件工程啊,怎么了,当初没学习JAVA 后悔啊,就想着高工资没想自己所在城市啊
作者: 2528870651    时间: 2014-4-6 16:07
ilvsoft 发表于 2014-4-6 15:57
软件工程啊,怎么了,当初没学习JAVA 后悔啊,就想着高工资没想自己所在城市啊 ...

哎! 我学的计算机,要毕业了什么都不懂,同学都在找工作,我却在教室自习。
悔不当初啊 !!!!!!!

作者: ilvsoft    时间: 2014-4-6 17:25
2528870651 发表于 2014-4-6 16:07
哎! 我学的计算机,要毕业了什么都不懂,同学都在找工作,我却在教室自习。
悔不当初啊 !!!!!!!
...

那至少有C语言基础啊
作者: 2528870651    时间: 2014-4-6 20:31
ilvsoft 发表于 2014-4-6 17:25
那至少有C语言基础啊

基础是有 可是都忘得差不多了
作者: ilvsoft    时间: 2014-4-6 20:37
2528870651 发表于 2014-4-6 20:31
基础是有 可是都忘得差不多了

那就没问题了,我也是半年多没敲过代码了,现在至少你JAVA比我学的多,我才学到if 。。。else语句
作者: ilvsoft    时间: 2014-4-6 20:39
2528870651 发表于 2014-4-6 20:31
基础是有 可是都忘得差不多了

只不过我弄一点点C++,所以知道 实例化对象,调用对象的方法而已,所以才能大概看懂你的程序,其实你哪些方法具体干什么的我也不知道,根据语法猜的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2