例如
string a = "1,2,3,4,5,6"  public int[] StringtoInt(String str) {
  int ret[] = new int[6];
  StringTokenizer toKenizer = new StringTokenizer(str, ",");
  String[] strx = new String[toKenizer.countTokens()];
  for (int i = 0; i <= toKenizer.countTokens(); i++) {
  strx[i] = toKenizer.nextToken();
  ret[i] = Integer.valueOf(strx[i]);
  }
  return ret;
  }在执行
for (int i : StringtoInt(a))的时候
i的值为1,2,3,0,0,0为什么会这样呢。。请问是哪儿出了问题

解决方案 »

  1.   

    for(String s : a.split(",")){
       System.out.println(Integer.valueOf(s));
    };
      

  2.   


    嗯…… 得先转成int类型的数组再进行赋值呢 = =。
    我那个转INT数组的写法请问哪儿有问题……
      

  3.   

    public int[] StringtoInt(String str) {
    int ret[] = new int[6];
    StringTokenizer toKenizer = new StringTokenizer(str, ",");
    int i = 0;
    while (toKenizer.hasMoreElements()) {
    ret[i++] = Integer.valueOf(toKenizer.nextToken());
    } return ret;
    }
      

  4.   

    问题出在for (int i = 0; i <= toKenizer.countTokens(); i++)语句里面的 
    i <= toKenizer.countTokens(),把“toKenizer.countTokens()”改成“str.length”,即for (int i = 0; i <strx.length; i++)
      

  5.   


    不是很会用这个··· 是说toKenizer.countTokens()在后面会动态变化么。。能讲解下这个函数的意思么