在我的课堂上,我们必须制作一个矩阵填充程序,但是我对如何使用用户输入非常困惑,我根本不知道如何操作。我试图开始编码,但无法通过第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所以它出来01和02,我需要一个if循环,以便它只检查少于10的数字? / p>
答案 0 :(得分:1)
通过您的示例代码,您似乎缺少的是基本的语法知识。让我用简单的语言在最基本的层面上刷新数组内存。
数组就像某种类型的变量的多维列表。
length
),它是在初始化时定义的。以下是一些代码:
int[] myArray;
这里我声明一个包含int
s的1维数组。
myArray = new int[6];
这里我初始化我的数组,并将维度的长度设置为6。
int[] myArray2 = new int[7];
我也可以在同一条线上进行。
long[][] myMatrix = new long[3][2];
这里我宣布了一个包含long
s的二维数组。尺寸的长度为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;
}
}
不确定您是否需要此功能,但我会提及一些其他说明:
您可以直接使用值初始化数组,然后您不需要指定维度&#39;长度:
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++) {
// ...
}