萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 758|回复: 8

java 编程问题

[复制链接]
发表于 2007-8-3 19:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

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

API 类库有没有类似的函数呢?$郁闷$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-8-4 19:34 | 显示全部楼层
不用高人了,我就可以告诉你,没有,因为这可重用性不大,没必要放到api,自己写几行就可以了.
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2007-8-6 12:04 | 显示全部楼层

回复 #2 renzaijianghu 的帖子

我写了几行,能给看看吗? 谢谢啦。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-8-6 12:11 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2007-8-6 12:29 | 显示全部楼层
class twoArrayConvering {
public static void main(String arg[]) { //执行
  ZweiArray();
}
static void  ZweiDausgabe(String[] EinD)    // 方法: 形参为一个一维的数组, 返回二维数组
  {
     String[][] ZweiArray = new String[100][100];  //初始化一个二维数组
     int x=0,y=0;
     for(int i =0; i< 100; i++) {
       if(100%2 !=0 )
       ZweiArray[x][y] = EinD; x++;
       if(y<10) y++;
     }
      System.out.println(ZweiArray[x][y]);
}        
}

[ 本帖最后由 Bajie 于 2007-8-6 13:32 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-8-6 21:38 | 显示全部楼层
老大,我服了你了$汗$ . 你这个实在是......... :o  说实话,没看太明白$害羞$
if(100%2 !=0 )
       ZweiArray[x][y] = 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[i/column]=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[j]+" ");
            }
            System.out.println();
        }
    }
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2007-8-7 14:06 | 显示全部楼层
泛型啊$汗$
谢谢楼上的高人了 辛苦啦$握手$ ,我再看看。$frage$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-8-10 11:28 | 显示全部楼层
大概看了renzaijianghu老大的程序. 很佩服老大对API的熟悉!
打印的程序有点问题! j<array.length的array后要方括号和i


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



[ 本帖最后由 free_bird1227 于 2007-8-10 12:38 编辑 ]
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-8-11 13:24 | 显示全部楼层
没太注意, :)  有些符号被自动替换掉了,当时是有的.$汗$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+1, 2025-3-14 12:30 , Processed in 0.070134 second(s), 21 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表