勤奋学习java,有个关于StringTokenizer的问题import java.util.*;
class MyTest
{
public static void main(String[] args)
{
String MyString="I love you. a b c s e f g ";
System.out.println(my1(MyString,7));
System.out.println(my1(MyString,2));
}
public static String my1(String s, int k)
{
StringTokenizer st=new StringTokenizer(s," \t\n\r,.;:");
String f=null;
for(int i=0;i.<
哪个学长教教我
谢谢了先
(more...)
关于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就结束了。为什么?请你来分析吧。:)
通常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就结束了。为什么?请你来分析吧。:)