首页 新闻 会员 周边 捐助

java 一维数组 怎么变二维数组?

0
悬赏园豆:30 [已解决问题] 解决于 2016-02-03 13:53

String【】 data = 【1,2,4,5,6,7,8,9,10】

变为二维数组 【【1,2】,【3,4】,【5,6】,【7,8】,【9,10】】

冬杰先生的主页 冬杰先生 | 初学一级 | 园豆:114
提问于:2016-01-22 10:19
< >
分享
最佳答案
0

最简单的方法如下:

 1 int [] data = new int[]{1,2,3,4,5,6,7,8,9,10};
 2 int splitlen = 2;
 3 int dataLen = data.length;
 4 int arrlen = dataLen%splitlen == 0 ? (dataLen/splitlen):(dataLen/splitlen)+1;
 5 
 6 int [] datas = new int[arrlen];
 7 
 8 for(int i = 0;i<arrlen;i++)
 9 {
10     int [] tmp = new int[];
11     if(i*splitlen+splitlen<=dataLen)
12     {
13          tmp = new int[splitlen];
14     }
15     else
16     {
17          tmp = new int[dataLen-i*splitlen];
18     }
19     for( int j = 0;j<tmp.lengyh;j++)
20     {
21         int index = i*splitlen+j;
22         tmp[j] = data[index];
23     }
24  datas[i]=tmp;
25 }
Code
收获园豆:10
CodeHsu | 大侠五级 |园豆:5668 | 2016-01-22 11:10
其他回答(5)
0

网上好多例子啊。

1.【CSDN】java中arraylist和一维数组,二维数组的转换

2.http://zhidao.baidu.com/question/69322227.html?qbl=relate_question_2&word=java%20%D2%BB%CE%AC%CA%FD%D7%E9%20%D4%F5%C3%B4%B1%E4%B6%FE%CE%AC%CA%FD%D7%E9%3F

JAVA一维数组变二维数组问题

收获园豆:10
小刺猬001 | 园豆:660 (小虾三级) | 2016-01-22 10:24
0

1楼赠解、不够再追加个:

http://zhidao.baidu.com/question/88441265.html?qbl=relate_question_2&word=java%20%D2%BB%CE%AC%CA%FD%D7%E9%20%D4%F5%C3%B4%B1%E4%B6%FE%CE%AC%CA%FD%D7%E9%3F

收获园豆:10
Ctrl` | 园豆:3317 (老鸟四级) | 2016-01-22 10:29
0

网上有例子

搁忆 | 园豆:612 (小虾三级) | 2016-01-22 11:34
0

写代码..你就算new一个新二维数组循环放进去就是了.还能问...

吴瑞祥 | 园豆:29449 (高人七级) | 2016-01-22 12:09
0

要将一维数组转换为二维数组,你需要定义一个新的二维数组,并根据一维数组的长度和所需的行数计算出列数。然后,你可以使用两个嵌套的循环将元素从一维数组复制到二维数组的相应位置。

以下是使用 Java 实现这个过程的示例代码:

public class Main {
    public static void main(String[] args) {
        String[] data = {"1", "2", "4", "5", "6", "7", "8", "9", "10"};
        int rows = data.length / 2; // 行数
        int columns = 2; // 列数

        String[][] twoDimensionalArray = new String[rows][columns];

        int dataIndex = 0;
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                twoDimensionalArray[i][j] = data[dataIndex];
                dataIndex++;
            }
        }

        // 打印二维数组
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                System.out.print(twoDimensionalArray[i][j] + " ");
            }
            System.out.println();
        }
    }
}

这段代码将输出以下结果:

1 2
4 5
6 7
8 9
10

请注意,上述示例假设一维数组的长度是偶数。如果一维数组的长度是奇数,最后一个子数组将只包含一个元素。如果你的需求不同,你可以根据需要进行调整。

小九九呀 | 园豆:383 (菜鸟二级) | 2023-07-21 15:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册