java中,二维数组问题

比如有String[] a = {"1","2","3"} ,String[] b ={"a","b","c"},定义一个二维数组String[][] c={},怎么将数组c的第一个元素随机输出a中的一个元素,数组c中的第二个元素随机输出b中的一个元素

你这个要求实现起来比较复杂,首先你需要声明一个静态方法,参数是一个数组,返回值是一个String,大概形式如下:

public static final String getString(final String[] array){
Random r = new Random();
int index = Math.abs(r.nextInt()) % array.length;
return array[index];
}

或者返回类型为一个字符串数组:
public static final String[] getStringArray(final String[] array){
Random r = new Random();
int index = Math.abs(r.nextInt()) % array.length;
String[] s = {array[index]};
return s;
}

然后在String[][] c={}里这样写:
String[][] c={getStringArray(a),getStringArray(b)};

基本上思路就是这样。如果你不想传参的话,可以在getString和getStringArray方法内声明一个数组,从里面取值。

PS:从来没见过这种用法,说实话,如果真碰到了这种用法,这个程序设计的可够差劲的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-09
public class ArrayTest {
public static void main(String[] args) {
String[] a={"1","2","3"};
String[] b={"a","b","c"};
String[][] c =new String[5][2];
for(int i=0;i<5;i++){
int k=(int)(Math.random()*3);
c[i][0]=a[k];
c[i][1]=b[k];
}
for(int i=0;i<5;i++){
for(int j=0;j<2;j++){
System.out.println(c[i][j]);
}
}
}
}//这样就行了。
第2个回答  2011-08-08
用随机数啊 限制随机数的产生 让他只能产生1 2 3 然后随机两个数组下标 最后给c赋值
第3个回答  2011-08-09
用随机数啊 随即产生1 2 3 math.randow()*3 不为0 就好 然后随机两个数组下标 最后给c赋值
第4个回答  2011-08-09
是啊,用随机数
相似回答