你的程序里有Bug,第一个异常说明你对StringTokenizer的使用不正确,一定要调用hasMoreToken判断是否还有元素,然后再调用nextToken,至于第二三个异常,你可以把代码贴出来看看

解决方案 »

  1.   

    public String[] f(String s1)
        {
            String s2 = null;
            String s3 = null;
            String s4 = null;
            String s5 = null;
            Vector vector = null;
            if(s1.startsWith(":"))
            {
                s2 = s1.substring(1);
                s3 = s2;
            } else
            {
                s2 = s1;
            }
            int i1 = s2.indexOf(58);
            if(i1 != -1)
            {
                s5 = s2.substring(i1 + 1);
                s2 = s2.substring(0, i1 - 1);
            }
            StringTokenizer stringtokenizer = new StringTokenizer(s2, " ");
            if(stringtokenizer.hasMoreTokens())
            {
                String s6 = stringtokenizer.nextToken();
                if(s3 != null)
                {
                    s3 = s6;
                    s4 = stringtokenizer.nextToken().toUpperCase();
                } else
                {
                    s4 = s6.toUpperCase();
                }
            }
            vector = new Vector();
            String s7;
            for(; stringtokenizer.hasMoreTokens(); vector.addElement(s7))
                s7 = stringtokenizer.nextToken();        if(s5 != null)
                vector.addElement(s5);
            String as[] = new String[vector.size() + 2];
            as[0] = s3;
            as[1] = s4;
            Enumeration enumeration = vector.elements();
            int j1 = 2;
            while(enumeration.hasMoreElements()) 
                as[j1++] = (String)enumeration.nextElement();
            return as;
        }
    我已经调用MoreTokens(),还出现第一个报错,在什么条件下会有那个错误?
    上面代码有何问题?
    如解决愿多注册几个名字加上500分