Java 如何在一个二维数组中写入另一个只有一维数组大小的类?
当我创建一个二维数组并只初始化数组的一个维度时,一切都正常,但如果我从另一个类调用它,一切都不正常。为什么?Java 如何在一个二维数组中写入另一个只有一维数组大小的类?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,当我创建一个二维数组并只初始化数组的一个维度时,一切都正常,但如果我从另一个类调用它,一切都不正常。为什么? import java.util.Scanner; public class Coursework { public static void main(String[] args) { int verticalMatrix; // vertical size of Matrix int horisontMatrix; // horisont System
import java.util.Scanner;
public class Coursework {
public static void main(String[] args) {
int verticalMatrix; // vertical size of Matrix
int horisontMatrix; // horisont
System.out.println("Enter vertical size of Matrix ");
Scanner sc = new Scanner(System.in);
verticalMatrix = sc.nextInt();
int [][] matrix = new int [verticalMatrix][];
}}
这段代码可以工作,但当我使用扩展类矩阵时,我不能只保存一个大小(verticalMatrix)。如何修复它
public class Coursework extends Matrix {
public static void main(String[] args) {
int verticalMatrix; // vertical size of Matrix
int horisontMatrix; // horisont
System.out.println("Enter vertical size of Matrix ");
Scanner sc = new Scanner(System.in);
verticalMatrix = sc.nextInt();
int [][] matrix = new int [verticalMatrix][];
矩阵类
public class Matrix {
public static int [][] Matrix;
public void getSize(){
System.out.println("This method still epmty");
}
}
您可以像调用类一样调用int数组变量(
Matrix
)。这可能不会导致错误,但不是首选。您可以将数组的垂直长度t传递给构造函数,如下所示:
public class Matrix {
public static int [][] matrix;
public void Matrix(int verticalLength){
this.matrix = new int[verticalLength][];
}
public void getSize(){
System.out.println("This method still epmty");
}
}
我对这个问题投了反对票,因为“什么都不管用”不是一个有用的问题陈述。请回答您的问题以澄清您的问题,此否决票可能会被撤回。请将变量public static int[][]矩阵的名称更改为除包含它的类名称之外的其他名称。“.我不能只保存一个大小…”为什么不?你有错误吗?错误是什么?谢谢,但是如何在主类中使用方法矩阵(int verticallength)?如何调用此方法和初始数据?您从主方法中的用户处获取数据(或者您可以编写一个帮助器类),然后使用Matrix类的构造函数创建一个对象。如果你不知道如何使用构造函数,那就去查一下。