[英]How can I create a matrix with Java and add all its elements to a sum?
我需要用Java编写代码来创建3000X3000矩阵,其中每个元素都是整数类型。 之后,我需要添加所有元素。
我得到了这段代码:
public class matrix {
public static void main(String[] args) {
long sum = 0;
int dimension = 3000;
int i, j;
int matrix[][] = new int[dimension][dimension];
...
for (i=0; i<dimension; i++) {
for (j=0; j<dimension; j++) {
sum = sum + matrix[i][j];
}
}
}
}
但是由于我以前从未使用过数组,因此实际上我们今天才第一次谈论数组。 我并没有真正了解如何自定义此代码,因此我最终得到了矩阵中所有元素的总和。
您可以使用两个循环并遍历数组并将整数值存储在其中。
public static void main(String[] args) {
long sum = 0;
int dimension = 3000;
int i, j;
int matrix[][] = new int[dimension][dimension];
for (i = 0; i < dimension; i++) {
for (j = 0; j < dimension; j++) {
matrix[i][j] = 1; // Number you want to store, could be a scanner input
}
}
for (i = 0; i < dimension; i++) {
for (j = 0; j < dimension; j++) {
sum = sum + matrix[i][j];
}
}
System.out.println(sum);
}
数组只是一个东西的列表。 在Java中,矩阵是列表的列表,因此要访问网格中的一个点,请访问arr[y][x]
,其中x是x位置, y是y位置。
因此,要将所有内容加在一起,可以使用具有以下结构的代码:
int sum = 0; // Define the sum to add to
int[][] grid = new int[] { // Define the grid
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0},
};
for (int x = 0; x < grid[0].length; x++) // Loop through X indicies
for (int y = 0; y < grid.length; y++) // Loop through Y indicies
sum += grid[y][x]; // Add value to the sum
该代码循环遍历每个整数,并将其加到总和上。 请记住,第一个索引是行,因此是y ,第二个索引是列,因此是x 。 您遍历两个索引,捕获存储在网格中的每个数字并将其存储。
我修改了iNan的答案:
public static void main(String[] args) {
long sum = 0;
int dimension = 3000;
int i, j;
int matrix[][] = new int[dimension][dimension
for (i = 0; i < dimension; i++) {
for (j = 0; j < dimension; j++) {
matrix[i][j] = 1; // Number you want to store, could be a scanner input
sum = sum + matrix[i][j];
}
}
System.out.println(sum);
}
您无需在填充条目的矩阵上进行单独迭代,然后再次对其进行迭代以将所有事物累加起来。 您可以一步一步进行填充和总结,从而可以稍微加快程序速度。 使用大型矩阵,可以大大加快程序运行速度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.