老号忘记密码 所以新帖没有结贴率 肯定会及时结贴的 大家放心~问一个关于数组的输入 输出的问题, 在第一个FOR 循环下, 每次循环会得到一个X, X每次是根据变量算出来的每次不一样,并且每次的X都唯一对应一个不一样的Y  在代码里面就用 X=???  Y=???+!!!代替了, 当每次X=1的时候  就把Y值赋到数组St[]里面 然后循环结束后  在最后把St[]里面所有的内容输出出来,因为最开始 不知道数组St的长度, 初始化不知道怎么弄,一直报错,麻烦高手帮我写下 非常感谢 麻烦写的详细一点 从初始化到输出 代码如下代码:        String[] St={};
St=new String[1];
        int j=0;
for (XXXXX){ 
          X=??? ;            //X是算出来的 每次不一样
          Y=???+!!! ;    //第一个FOR循环 Y每次不一样 并且对应X
          
  if (X == 1){
St[j]= Y;
j++;
                }
             }for (int k=0; k<St.length; k++){
system.out.println(St[k]); // 输出所有的数组成员
}

解决方案 »

  1.   

    开始不知道数组大小,可以建立一个ArrayList,把值都add进这个ArrayList中,最后,从ArrayList转成数组即可。例子如下:List list = new ArrayList();
    list.add("Y);

    String[] array = (String[])list.toArray(new String[list.size()]);//array就是最后要的数组
    for(int i = 0;i < array.length;i++){
    System.out.println(array[i]);
    }
      

  2.   

    2楼基本上正确,如果能使用范型就更OK了
    List<String> str = new ArrayList<String>();
    ....
    ...
    for(int i = 0; i < str.size(); i++){
        system.out.println(St[k]);
    }
    这样改过你的程序估计就差不多了。
    希望能帮到你
      

  3.   

    数组定义,一旦初始化 ,则不能改变长度啦 ,还是使用List吧