【问题标题】:java multi-dimensional array split [closed]java多维数组拆分[关闭]
【发布时间】:2017-06-05 06:13:12
【问题描述】:

我有一个多维数组:

// nums[3][0]
String[][] nums = new String[3][0];
nums = {{32,123,74},{543,98,5},{96,24,23},{12,98,56}}

System.out.println(nums[0][0]) 的输出是32, 123, 74 我想拆分列,所以输出应该是这样的:

System.out.println(nums[0][0]); // Output: 32
System.out.println(nums[1][2]); // Output: 5

我试过nums[0][0] = nums[0][0].split(",");但出现错误

我被困住了,我做不到。

【问题讨论】:

  • 欢迎来到 StackOverflow!如果您向我们展示您已经尝试过的方法,即使它不起作用,人们也会更愿意帮助您。然后,我们可以帮助引导您朝着正确的方向前进。如果我们只是为您解决问题,那么您实际上什么也学不到。
  • 代码无法编译。您不能在字符串数组中使用整数。您的结果数组与起始数组相同。
  • 你能告诉我{{32,123,74},{543,98,5},{96,24,23},{12,98,56}}{{32,123,74},{543,98,5},{96,24,23},{12,98,56}}有什么区别吗?
  • 有两个代码块,它们都有相同的数组。另外,Alessandro 的观点是,String 不能有整数......你有没有试过编译你的代码?如果您开始编写 cod.e,也许可以使用 Eclipse (eclipse.org) 或 netbeans (netbeans.org) 等 IDE 让您的生活更轻松
  • 这个问题之前有人问过..

标签: java arrays multidimensional-array split


【解决方案1】:

我希望我已经正确理解了你想问的问题。

首先,正如已经提到的,您不能将整数存储在字符串数组中。

其次,在Java中二维数组实际上是数组的数组。因此,当您声明 int[][] nums = int[4][3] 时,您会创建一个 int[] 数组 nums,它有四个元素,每个元素都是另一个长度为 3 的 int[] 数组。因此,如果您想象您的二维数组是一种矩阵您可以轻松地将其“行”检索为 nums 数组的元素。

int[][] nums = {{32, 123, 74}, {543, 98, 5}, {96, 24, 23}, {12, 98, 56}};

int[] rowOne = nums[0];     // {32, 123, 74}
int[] rowTwo = nums[1];     // {543, 98, 5}
int[] rowThree = nums[2];   // {96, 24, 23}
int[] rowFour = nums[3];    // {12, 98, 56}

获取“列”有点棘手,只要它们在 java 中不存在。但是你仍然可以这样做:

int[] columnOne = new int[nums.length];
for (int i = 0; i < columnOne.length; i++) {
  columnOne[i] = nums[i][0]; // {32, 543, 96, 12}
}

int[] columnTwo = new int[nums.length];
for (int i = 0; i < columnTwo.length; i++) {
  columnTwo[i] = nums[i][1]; // {123, 98, 24, 98}
}

int[] columnThree = new int[nums.length];
for (int i = 0; i < columnThree.length; i++) {
  columnThree[i] = nums[i][2]; // {74, 5, 23, 56}
}

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 2015-02-10
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多