读书人

JAVA 关于数组的一个小疑点 多谢

发布时间: 2012-08-15 16:57:17 作者: rapoo

JAVA 关于数组的一个小问题 谢谢
老号忘记密码 所以新帖没有结贴率 肯定会及时结贴的 大家放心~

问一个关于数组的输入 输出的问题, 在第一个FOR 循环下, 每次循环会得到一个X, X每次是根据变量算出来的每次不一样,并且每次的X都唯一对应一个不一样的Y 在代码里面就用 X=??? Y=???+!!!代替了, 当每次X=1的时候 就把Y值赋到数组St[]里面 然后循环结束后 在最后把St[]里面所有的内容输出出来,因为最开始 不知道数组St的长度, 初始化不知道怎么弄,一直报错,麻烦高手帮我写下 非常感谢 麻烦写的详细一点 从初始化到输出 代码如下

代码:

Java code
        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]); // 输出所有的数组成员            }


[解决办法]
开始不知道数组大小,可以建立一个ArrayList,把值都add进这个ArrayList中,最后,从ArrayList转成数组即可。

例子如下:

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

读书人网 >J2SE开发

热点推荐