老号忘记密码 所以新帖没有结贴率 肯定会及时结贴的 大家放心~
问一个关于数组的输入 输出的问题, 在第一个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]);
}
这样改过你的程序估计就差不多了。
希望能帮到你