Bajie 发表于 2007-8-3 19:49

java 编程问题

哪位高人知道java一维数组转二维数组的方法 $frage$
比如我有一个数组int[]Array =newint
转成一个二维的 10 * 10 方阵   Array -------> Array
                                                       Array -------> Array
                                                                  Array ------->Array
                                                          ..                                  ..
                                                                           ..                                  ..
                                                                        ..                                  ..
                                                      Array ---------> Array

API 类库有没有类似的函数呢?$郁闷$

renzaijianghu 发表于 2007-8-4 19:34

不用高人了,我就可以告诉你,没有,因为这可重用性不大,没必要放到api,自己写几行就可以了.

Bajie 发表于 2007-8-6 12:04

回复 #2 renzaijianghu 的帖子

我写了几行,能给看看吗? 谢谢啦。

renzaijianghu 发表于 2007-8-6 12:11

哪啦,没看到啊$考虑$

Bajie 发表于 2007-8-6 12:29

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 编辑 ]

renzaijianghu 发表于 2007-8-6 21:38

老大,我服了你了$汗$ . 你这个实在是......... :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();
      }
    }

Bajie 发表于 2007-8-7 14:06

泛型啊$汗$
谢谢楼上的高人了 辛苦啦$握手$ ,我再看看。$frage$

free_bird1227 发表于 2007-8-10 11:28

大概看了renzaijianghu老大的程序. 很佩服老大对API的熟悉!
打印的程序有点问题! j<array.length的array后要方括号和i


还有System.out.print(array+" ");也是同样.
好像是排版问题,在这里显示不了方括号


[ 本帖最后由 free_bird1227 于 2007-8-10 12:38 编辑 ]

renzaijianghu 发表于 2007-8-11 13:24

没太注意, :)有些符号被自动替换掉了,当时是有的.$汗$
页: [1]
查看完整版本: java 编程问题