【发布时间】:2018-02-16 03:45:02
【问题描述】:
我想将一个三角矩阵保存在一个 1 dim 数组中(以最小化所需的空间,所有零都被省略)并创建一个函数 get() 以从原始矩阵中查找特定条目。
例如:
让我们看看下面的三角矩阵:
0 1 2 3
0 0 4 5
0 0 0 6
0 0 0 0
我正在像这样保存这个矩阵:
double[] test = {1,2,3,4,5,6};
所以所有的零都被忽略了。
我想写一个函数,给我一个原始矩阵的值:
get(3,4)
应该给我6
我正在检查输入以查看它是否超出范围以及它是否在对角线下方或对角线上。
//Checking if input is valid
if (i <= n && j <= n && i >= 1 && j >= 1){
if( j <= i ){
return 0.0;
}else {
}
}
这行得通。
我该如何继续?我无法在我的数组中找到等效的矩阵条目。
任何帮助将不胜感激。
编辑:
我的整个代码:
public class dreiecksmatrix {
int n = 4;
double[] a = {1,2,3,4,5,6};
public double get( int i, int j){
//Checking if input is valid
if (i <= n && j <= n && i >= 0 && j >= 0){
if( j <= i ){
return 0.0;
}else {
}
}
return 1.0;
}
public static void main(String [] args ){
dreiecksmatrix test = new dreiecksmatrix();
System.out.println(test.get(2,3));
}
}
【问题讨论】:
-
没有得到(3,4)给你 6?
-
@dbahdano 对,我的错。
-
@ViktorG 你能详细说明一下吗? test.get(3,4) 如何给你 6?
-
@dbahdano test.get(3,4) 表示第 3 行第 4 列元素,在这种情况下为 6
-
@sandy 我明白了,但在这种情况下,
.get()不应该来自test这是一个数组。 Java Array 没有get(int,int)方法。