我有一个多维数组:
// 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(",");
但是出现了错误
我被困了,我无法做到。
答案 0 :(得分:3)
我希望我已经正确地理解了你想要问的内容。
首先,因为已经提到过,你不能在String数组中存储整数。
其次,在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}
}