勤奋学习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<=st.countTokens();i++)
{
if(i==k)
f=st.nextToken();
st.nextToken();
}
return f;
}
}
-----------------
有这么个问题
System.out.println(my1(MyString,7));的时候后面输出的是null
我自己认为是st.countTokens()出了问题
换成 st.hasMoreTokens()以后得到解决
但是我在里面加了System.out.println(st.countTokens());输出是正确的10。循环应该不会出问题
不知道为什么会这样>.<
哪个学长教教我
谢谢了先
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<=st.countTokens();i++)
{
if(i==k)
f=st.nextToken();
st.nextToken();
}
return f;
}
}
-----------------
有这么个问题
System.out.println(my1(MyString,7));的时候后面输出的是null
我自己认为是st.countTokens()出了问题
换成 st.hasMoreTokens()以后得到解决
但是我在里面加了System.out.println(st.countTokens());输出是正确的10。循环应该不会出问题
不知道为什么会这样>.<
哪个学长教教我
谢谢了先