对于我的类分配,我们需要编写一个名为Matrix的类,其中包含一个名为“矩阵”的私有二维int数组,最多可以是10行乘10列。我们需要使用两个常量MAXROWS=10和MAXCOLS=10来构造“矩阵”。Matrix类还需要以下属性:
private int rows; // number of rows to use in matrix
private int cols; // number of cols to use in matrix
行和列将包含小于等于MAXROWS和MAXCOLS的值。编写一个默认的matrix类构造函数,用以下值构造“Matrix”数组:
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
构造函数还必须设置行和列变量以匹配上述矩阵。
编写一个“getSumMatrix”方法,该方法返回数组“Matrix”中所有整数的和。
编写一个方法“getSumMatrixDiag”,返回数组“matrix”的主对角线中所有整数的总和。主对角线是从矩阵的左上角到右下角形成的对角线。
是否有可能让我的代码被检查(在那里我初始化数组并用值填充它以确保它是正确的。我卡住的部分是得到苏姆矩阵和得到苏姆矩阵诊断。获取萨姆矩阵方法在“for(i=0;我
这是我的代码。
/**索菲亚·阿里
>
矩阵,getSumMatrix,getSumMatrixDiag:
只给Matrix.java发邮件。
编写一个名为Matrix的类,该类包含一个称为“Matrix”的私有二维int数组,最多可以有10行10列。使用两个常量MAXROWS=10和MAXCOLS=10来构造“矩阵”
Matrix类还需要以下属性:
私有整数行;//在矩阵私有整数中使用的行数;//在矩阵中使用的列数
行和列将包含小于等于MAXROWS和MAXCOLS的值。
编写一个默认的matrix类构造函数,用以下值构造“Matrix”数组:
{{1,2,4,5},{6,7,8,9},{10,11,12,13}, {14,15,16,17}}
构造函数还必须设置行和列变量以匹配上述矩阵。
编写一个“getSumMatrix”方法,该方法返回数组“Matrix”中所有整数的和。
编写一个方法“getSumMatrixDiag”,返回数组“matrix”的主对角线中所有整数的总和。主对角线是从矩阵的左上角到右下角形成的对角线。
您不必编写TestMatrix类来测试Matrix类别。只需使用BlueJ对象创建和测试功能。
*/公共类矩阵{
final int MAXROWS = 10;
final int MAXCOLS = 10;
private int [][] matrix = new int [MAXROWS][MAXCOLS];
private int rows;
private int cols;
public Matrix()
{
int matrix[][] =
{
{1, 2, 4, 5},
{6, 7, 8, 9},
{10, 11, 12, 13},
{14, 15, 16, 17}};
getSumMethod(matrix);
getSumMatrixDiag(matrix);
}
public double getSumMethod(int[][] a)
{
int i, result;
result = 0;
for(i=0; i < 10; i++)
{
result = result + i;
}
return result;
}
public double getSumMatrixDiag(int[][] m)
{
int sum = 0;
for (int i =0; i< m.length; i++)
{
sum = (int)(sum + m[i][i]);
}
return sum;
}
}
编辑:
我正在使用BlueJ运行我的程序,当我运行它时,我得到错误“错误不兼容类型”。我不确定我的编码是否错误(当我编译它时,它没有语法错误)或者我是否没有正确使用BlueJ。
对不起,我不知道这是你现在想要的那个,但这会帮助你。
public class Matrix{
private int matrix[][] ;
public Matrix ()
{
int[][] matrix = {{1, 2, 4, 5},
{6, 7, 8, 9},
{10, 11, 12, 13},
{14, 15, 16, 17}};
this.matrix=matrix;
int final_result=0;
for(int i=0;i<matrix.length;i++)
{
final_result+=getSumMethod(matrix[i]);
}
System.out.println("Final result is..."+final_result);
}
public int getSumMethod(int[] a) {
int i, result;
result = 0;
for(i=0; i < a.length; i++) {
result = result + a[i];
}
return result;
}
}
...
在代码中,矩阵变量的作用域就在构造函数内部。因此,它在“获取方法”中是不可见的。此外,a 是上面指定的数组,a.矩阵不正确。
请尝试以下操作。调用方法getSumMethod(matrix),将矩阵作为参数传递,并将a.matrix替换为a。然后,您至少可以向前移动一些内容(可能是另一个错误)。如果您尝试下面的方法,那么您将出现与数据类型相关的错误,您可以通过放置正确的逻辑来解决这些错误。但这段代码需要进行大量改进,才能按照您需要的方式运行。
final int maxrows = 10;
final int maxcols = 10;
private int [][] matrix = new int [maxrows][maxcols];
private int rows;
private int cols;
public Base64Test() {
int matrix[][] =
{{1, 2, 4, 5},
{6, 7, 8, 9},
{10, 11, 12, 13},
{14, 15, 16, 17}};
getSumMethod(matrix);
}
public double getSumMethod(int[][] a) {
int i, result;
result = 0;
for(i=0; i < a.length; i++) {
result = result + a[i];
}
return result;
}
我正在编写一个计算和绘制抛物线的小程序。但我在程序中有一小部分需要计算valuetable。 二次函数如下:
二维数组 #include <stdio.h> #include <stdlib.h> //01.二维数组: // 1.二维数组的内存存储原理: // 所有数组,无论一维数组,二维数组,多维数组,在内存当中的 // 存储实质都是采取的连续存储方式 // 2.二维数组的规律赋值方式: // 先进行行遍历,在进行列遍历,再逐个进行逐个数组元素的具体赋值操作 //
BlueJ是一个为入门级教学设计的Java开发环境。它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。
主要内容:创建二维数组,初始化二维数组,获取单个元素,获取全部元素,获取整行元素,获取整列元素为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组 在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,但是
主要内容:指针数组和二维数组指针的区别二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩阵: 但在内存中,a 的分布是一维线性的,整个数组占用一块连续的内存: C语言中的二维数组是按行排列的,也就是先存放
我有一个“连接四块板”,我用一个2d阵列(阵列[x][y]x=x坐标,y=y坐标)模拟它。我必须使用“System.out.println”,所以我必须遍历行。 我需要一种迭代方式[0,0][1,0][2,0][3,0][0,1][1,1][2,1]等 如果我使用正常程序: 它不起作用,因为它以[0,0][0,1][0,2][0,3]等方式进行迭代 正常过程保持在x中并递增y直到列的末尾,但我需要