java 编程问题
哪位高人知道java一维数组转二维数组的方法 $frage$比如我有一个数组int[]Array =newint
转成一个二维的 10 * 10 方阵 Array -------> Array
Array -------> Array
Array ------->Array
.. ..
.. ..
.. ..
Array ---------> Array
API 类库有没有类似的函数呢?$郁闷$ 不用高人了,我就可以告诉你,没有,因为这可重用性不大,没必要放到api,自己写几行就可以了.
回复 #2 renzaijianghu 的帖子
我写了几行,能给看看吗? 谢谢啦。 哪啦,没看到啊$考虑$ class twoArrayConvering {public static void main(String arg[]) { //执行
ZweiArray();
}
static voidZweiDausgabe(String[] EinD) // 方法: 形参为一个一维的数组, 返回二维数组
{
String[][] ZweiArray = new String;//初始化一个二维数组
int x=0,y=0;
for(int i =0; i< 100; i++) {
if(100%2 !=0 )
ZweiArray = EinD; x++;
if(y<10) y++;
}
System.out.println(ZweiArray);
}
}
[ 本帖最后由 Bajie 于 2007-8-6 13:32 编辑 ] 老大,我服了你了$汗$ . 你这个实在是......... :o说实话,没看太明白$害羞$
if(100%2 !=0 )
ZweiArray = EinD;
100%2永远等于0啊,
这句话除了占字数和不写有什么区别啊$考虑$
我给你写个例子,你自己参照一下吧.
//泛型T接受任意对象类型(也就是说,int,float是不行的,要用Integer等包装)
//运行平台最低要java5
//column,需要转化数组的列数
public static <T> T[][] transformArray(T[] src,int column){
//row, 计算一下需要的行数,
int row=(int)Math.ceil(src.length/(double)column);
//下面的都是API,没什么说的了.
T[][] dest=(T[][])java.lang.reflect.Array.newInstance(src.getClass(),row);
for(int i=0;i<src.length;i+=column){
dest=java.util.Arrays.copyOfRange(src,i,i+column);
}
return dest;
}
//这个是用来打印一个二维数组.
public static <T> void printArray(T[][] array){
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length;j++){
System.out.print(array+" ");
}
System.out.println();
}
} 泛型啊$汗$
谢谢楼上的高人了 辛苦啦$握手$ ,我再看看。$frage$ 大概看了renzaijianghu老大的程序. 很佩服老大对API的熟悉!
打印的程序有点问题! j<array.length的array后要方括号和i
还有System.out.print(array+" ");也是同样.
好像是排版问题,在这里显示不了方括号
[ 本帖最后由 free_bird1227 于 2007-8-10 12:38 编辑 ] 没太注意, :)有些符号被自动替换掉了,当时是有的.$汗$
页:
[1]