关于debug楼下已经有人告诉你是什么原因了,我来给你讲解一下怎么debug这个program。
通常while loop里执行的东西,不是我们想要的东西,怎么办?把里面每步都print出来,看看是哪步出了问题。
将第19行的st.nextToken();里改成 System.out.println(i+" "+st.nextToken());。然后运行程序,看看结果如何。结果如下:
0 I
1 love
2 you
3 a
4 b
5 c
null \\my1(MyString,7) 的结果
0 I
1 love
2 a
3 b
4 c
you \\my1(MyString,2) 的结果
那个while loop在第一次执行了5次就停了,在第二次,i的指数只是到4就结束了。为什么?请你来分析吧。:)
CS1102 的tutor :D 谢谢duck