日期:2014-05-20  浏览次数:20824 次

请问这个代码段的功能是什么
StringTokenizer   fenxi=new   StringTokenizer(person_email, "     @ ");
                        int   n=fenxi.countTokens();
                          if(n> =3)
                                  {out.print( " <BR> "+ "你输入的Email有不合法字符 ");
                                  }
                          else
                                {   putString(person_name);
                                    out.print( " <BR> "+ "您已经注册成功 ");
                                    out.print( " <BR> "+ "您注册的名字是 "+person_name);
                                     
                                }

为什么                           if(n> =3)就是不合法的呢,,感谢.为什么呢,分隔的不是 "     @ "嘛??不懂,请教一下,感谢.

------解决方案--------------------
判断用户输入的邮件地址是否合法,
一个邮件地址不可能有两个以上的@
------解决方案--------------------
一个邮件地址不可能有两个以上的@
=======================================================================
难道可以有两个?

------解决方案--------------------
public class StringTokenizerextends Objectimplements Enumeration <Object> string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比 StreamTokenizer 类所使用的方法更简单。StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。

可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集合。

StringTokenizer 的实例有两种行为方式,这取决于它在创建时使用的 returnDelims 标志的值是 true 还是 false:

如果标志为 false,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。
如果标志为 true,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。
StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。

通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。

下面是一个使用 tokenizer 的实例。代码如下:

StringTokenizer st = new StringTokenizer( "this is a test ");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
输出以下字符串:

this
is
a
test
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。

下面的示例阐明了如何使用 String.split 方法将字符串分解为基本标记:

String[] result = "this is a test ".split( "\\s ");
for (int x=0; x <result.length; x++)
System.out.println(result[x]);
输出以下字符串:

this
is
a
test


------解决方案--------------------
up
------解决方案--------------------
说得相当详细了,我没什么好说了.