Try the class java.util.StringTokenizer please.good luck!

解决方案 »

  1.   

    因为快半年没搞java拉,我刚才写的是错误的,mars_lee(二子)写的是对的。SORRY!
      

  2.   

    进来这里的兄弟们也帮小弟弟的眉下之急吧!!!!!!WinXP:本地帐号如下:系统管理员帐号禁用(控制面版-安全选项);
                 GUEST启用;
                 GY2帐号(从WIN98升级帐号);
    遇到这样的情况,GY2帐号被(控制面版-安全选项)设为非本地登入。
    (“恢复控制平台”可用,当然,它具有对硬盘的全权限操做)
                 要安装一本地打印机,该怎办?除了重装系统!!!!!!!!
      

  3.   

    可是这是一个循环
    我不能这样吧
    while (StringTokenizer.hasMoreTokens()) {
                  A=  ;
                  B=   '; }
      

  4.   

    先把数据从字串里面解析出来,放到集合或者是数组里面,然后再处理就好办多了吧。
    A= ;
    B= ;
    ...
    Z= ;
    这个序列肯定是要写的。
      

  5.   

    比如说可以把这个序列也做成一个数组String[] sKey,长度24
    做一个循环把key和value都放到hashtable中去
    HashTable hKeyValue = new HashTable();
    while (StringTokenizer.hasMoreTokens()) {
      hKeyValue.put(sKey[i++], );
    }good luck!
      

  6.   

    这里面好像有一个问题,因为我的参数值可能为空,所以会出现这种情况
    StringTokenizer st = new StringTokenizer("this;is;;;a;test",";");
    但是这时候三个;;;在一块时他不会认为这是两个空值啊,怎么办?
      

  7.   

    凡是为空的都给一个默认值呗,比如:"null"
      

  8.   

    如果是空值也要处理的话,用楼上的那些恐怕都不行,干脆麻烦一点,通过indexOf一个个处理也行。下面我给出整个流程的代码
    import java.util.*;public class test {
      public static void main(String args[]) {
        String str = "a;;b;c;1;;d;;f;;d;";
        String cs = ";";
        int i = 0;
        int j = 0;
        int k = 0;
        int n = 12;//明确知道的参数个数,此处我给足够大,你事实上肯定可以给正确的大小
        String[] keys = new String[n];
        for(k=0;k<n;k++) {
          keys[k] = "";//注意,不是null
        }
        while(str.indexOf(cs)!=-1) {
          j = str.indexOf(cs);
          if(j == 0) {//即参数为空的情况
            keys[i] = "";
          }
          else {
            k = j-1;
            keys[i] = str.substring(k,j);
          }
          str = str.substring(j+1);
          i++;
        }
        for(i=0;i<n;i++) {//输出结果,结果按顺序存放在数组里面
          System.out.println(keys[i]);
        }
      }
    }
    ==============================================================
    如上所言,并非完全正确,请从建议的角度、用怀疑的眼光批判地接收
      

  9.   

    如果即使是空也要确定其值的话,楼上的处理恐怕都不行,StringTokenizer.hasMoreTokens()条件会将其忽略,不如干脆用indexOf循环处理。具体代码如下:import java.util.*;
    public class test {
      public static void main(String args[]) {
        String str = "a;;b;c;1;;d;;f;;d;";
        String cs = ";";
        int i = 0;
        int j = 0;
        int k = 0;
        int n = 12;//明确知道的参数个数,此处我给足够大,你事实上肯定可以给正确的大小
        String[] keys = new String[n];
        for(k=0;k<n;k++) {
          keys[k] = "";//注意,不是null
        }
        while(str.indexOf(cs)!=-1) {
          j = str.indexOf(cs);
          if(j == 0) {//即参数为空的情况
            keys[i] = "";
          }
          else {
            k = j-1;
            keys[i] = str.substring(k,j);
          }
          str = str.substring(j+1);
          i++;
        }
        for(i=0;i<n;i++) {//输出结果,结果按顺序存放在数组里面
          System.out.println(keys[i]);
        }
      }
    }