Java 中带有 fillArray() 方法的二维数组
2-Dimensional Array with fillArray() method in Java
我对编码还是很陌生,所以我提前道歉。但我正在使用二维数组,但似乎无法弄清楚。我已经完成了第一部分,但我不知道如何编写方法 (fillArray())(当我在第 9 行调用它时,它说它是未定义的,但我不知道如何通过编写方法来解决这个问题) .
这是我目前的情况:
public class 2DArrays {
public static void main(String[] args) {
2DArrays 2D = new 2dArrays();
int[][] arr = 2D.fillArray();
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j < arr[i].length; j++) {
String str = "";
if (arr[i][j] < 0) {
str = "" + arr[i][j];
}
else {
str = " " + arr[i][j];
}
System.out.print(" " + str);
}
System.out.println();
}
}
}
只需将一个循环放入另一个循环,所以...这里:
public static int[][] fillArray(){
int[][] numbers = new int[5][10];//The array that are going to return
for(int i = 1;i<=5;i++) {
for(int j = 0;j<10;j++) {
numbers[i - 1][j] = i - j;//fill the numbers
}
}
return numbers;//return result
}
In main(向您展示它很好...?):
public static void main(String[] args) {
int[][] array = fillArray();
System.out.println(Arrays.deepToString(array));
}
结果:
[[1, 0, -1, -2, -3, -4, -5, -6, -7, -8], [2, 1, 0, -1, -2, -3, -4, -5, -6, -7], [3, 2, 1, 0, -1, -2, -3, -4, -5, -6], [4, 3, 2, 1, 0, -1, -2, -3, -4, -5], [5, 4, 3, 2, 1, 0, -1, -2, -3, -4]]
fillArray 将行和列作为参数。
public static int[][] fillArray(int rows, int cols) {
int[][] arr = new int[rows][cols];
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
arr[r][c] = r-c + 1;
}
}
return arr;
}
int[][] arr = fillArray(5,10);
一种简单且格式化的显示方式是
for (int[] r : arr) {
for(int i : r) {
System.out.printf("%3d",i);
}
System.out.println();
}
版画
1 0 -1 -2 -3 -4 -5 -6 -7 -8
2 1 0 -1 -2 -3 -4 -5 -6 -7
3 2 1 0 -1 -2 -3 -4 -5 -6
4 3 2 1 0 -1 -2 -3 -4 -5
5 4 3 2 1 0 -1 -2 -3 -4
我对编码还是很陌生,所以我提前道歉。但我正在使用二维数组,但似乎无法弄清楚。我已经完成了第一部分,但我不知道如何编写方法 (fillArray())(当我在第 9 行调用它时,它说它是未定义的,但我不知道如何通过编写方法来解决这个问题) .
这是我目前的情况:
public class 2DArrays {
public static void main(String[] args) {
2DArrays 2D = new 2dArrays();
int[][] arr = 2D.fillArray();
for (int i = 0; i < arr.length; i++)
{
for (int j = 0; j < arr[i].length; j++) {
String str = "";
if (arr[i][j] < 0) {
str = "" + arr[i][j];
}
else {
str = " " + arr[i][j];
}
System.out.print(" " + str);
}
System.out.println();
}
}
}
只需将一个循环放入另一个循环,所以...这里:
public static int[][] fillArray(){
int[][] numbers = new int[5][10];//The array that are going to return
for(int i = 1;i<=5;i++) {
for(int j = 0;j<10;j++) {
numbers[i - 1][j] = i - j;//fill the numbers
}
}
return numbers;//return result
}
In main(向您展示它很好...?):
public static void main(String[] args) {
int[][] array = fillArray();
System.out.println(Arrays.deepToString(array));
}
结果:
[[1, 0, -1, -2, -3, -4, -5, -6, -7, -8], [2, 1, 0, -1, -2, -3, -4, -5, -6, -7], [3, 2, 1, 0, -1, -2, -3, -4, -5, -6], [4, 3, 2, 1, 0, -1, -2, -3, -4, -5], [5, 4, 3, 2, 1, 0, -1, -2, -3, -4]]
fillArray 将行和列作为参数。
public static int[][] fillArray(int rows, int cols) {
int[][] arr = new int[rows][cols];
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
arr[r][c] = r-c + 1;
}
}
return arr;
}
int[][] arr = fillArray(5,10);
一种简单且格式化的显示方式是
for (int[] r : arr) {
for(int i : r) {
System.out.printf("%3d",i);
}
System.out.println();
}
版画
1 0 -1 -2 -3 -4 -5 -6 -7 -8
2 1 0 -1 -2 -3 -4 -5 -6 -7
3 2 1 0 -1 -2 -3 -4 -5 -6
4 3 2 1 0 -1 -2 -3 -4 -5
5 4 3 2 1 0 -1 -2 -3 -4