gpt4 book ai didi

java - 基质填充 block

转载 作者:行者123 更新时间:2023-11-30 07:52:15 27 4
gpt4 key购买 nike

在我的类里面,我们必须制作一个矩阵填充程序,但我对如何使用用户输入来做到这一点感到非常困惑,而且我根本不知道如何做。我尝试开始编码,但无法完成第 1 步。

package question4;

import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;

public class MatrixFiller {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Size of Matrix: ");
Random ranGen = new Random();
int matrixSize = input.nextInt();
int a = matrixSize * matrixSize;
input.close();
int[][] myMatrix = new int[matrixSize][matrixSize];
for (int x = 0; x < matrixSize; x++) {
for (int y = 0; y < matrixSize; y++) {
myMatrix[x][y] = ranGen.nextInt(a);
System.out.print(Integer.toString(myMatrix[x][y]) + " ");
}
System.out.print("\n");
}
}
}

所以我修正了代码,并在徘徊如何添加像 1 和 2 这样的数字的零 hell ,所以它出来 01 和 02,我是否需要一个 if 循环,以便它只检查小于 10 的数字?

最佳答案

通过您的示例代码,您似乎缺少基本的语法知识。让我用简单的语言来刷新您对最基本的数组的内存。

数组就像某种类型的变量的多维列表。

  • 您可以在声明数组时选择变量的类型。
  • 数组可以容纳的变量数量是一个常数(数组的长度),该常数在初始化时定义。
  • 数组也可以有多个维度。您可以在声明数组时设置维数。将一维数组视为一个列表,二维数组会将列表转换为矩阵。在这种情况下,您需要设置每个维度的长度(初始化时)。因此,如果两个维度的长度相同,您将得到一个正方形,否则您将得到一个矩形。

下面是一些与之相关的代码:

int[] myArray;

这里我声明了一个保存int的一维数组。

myArray = new int[6];

在这里,我初始化了我的数组并将维度的长度设置为 6。

int[] myArray2 = new int[7];

我也可以在同一行上完成它们。

long[][] myMatrix = new long[3][2];

这里我声明了一个保存long的二维数组。维度的长度是 3 和 2,所以当你想象它时,它看起来像这样:

_ _
_ _
_ _

现在我们想要访问数组的某个位置。这是通过指定数组名称和要访问的每个维度中的位置来完成的,如下所示:

myMatrix[0][1] = 63;

记住!位置从 0 开始计数,因此 2 x 3 数组的第一个维度值为 0 和 1;第二个维度值 0、1 和 2。

现在让我们迭代一个数组,并将数字 6 放入其所有槽中:

int[][] exmaple = new int[3][3]; // 2 dim. array of ints with size 3 by 3.
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
example[x][y] = 6;
}
}

不确定您是否需要这个,但我会提到一些附加说明:

  • 您可以直接用值初始化数组,然后不需要指定维度的长度:

    int[][] array = new int[][] {{1 ,2}, {5, 65}}; // 2 by 2
  • 可以通过语法获取数组某维的长度

    array.length;    
    array[0].length;
    array[1].length;
    // etc.

    它们返回一个int,您可以在循环时将其用作边界:

    for (int i = 0; i < array.length; i++) {
    // ...
    }

关于java - 基质填充 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193215/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com