java 主方法外的二维数组[已关闭]

vs91vp4v  于 2023-01-15  发布在  Java
关注(0)|答案(1)|浏览(122)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我尝试在java中创建一个结构的二维数组。初始化和调用都很好,直到“不兼容的类型”弹出,要求String[][],因为它找到了String

class test
{
    String [][] testmultarray;
}
public class Testing {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner examiner = new Scanner(System.in);
        int a=0 ;
        int b = 0;
        test array [][] = new test[a][b];
        for( a = 0; a<5 ;a++)
        {
            for( b = 0 ; b<5; b++)
            {
            array[a][b] = new test ();
            array[a][b].testmultarray = examiner.next();
            
            }
        
        
        }
        
         for( b = 0 ; b<5; b++)
            {
            array[a][b] = new test ();
            System.out.println( +a+ " outer " +b+ " inner");
            }
    
    }
}

我试着找绳子然后换了

array[a][b] = new test ();
array[a][b].testmultarray = examiner.next()

变成

array[a][b] = new test [][] ();
array[a][b].testmultarray [][] = examiner.next()

但绝对是语法错误

nkoocmlb

nkoocmlb1#

你不能只在一个单独的类中创建一个二维数组,你需要定义一个类构造函数,getter和setter,Oracle教程Learning the Java Language会很有用。
下面是一个更健壮的类的例子,用于创建、更新和读取二维数组。数组初始化为空字符串。你可以设置任何数组值并检索一个值、一行、一列或整个数组。这个类不检查以确保行和列输入在二维数组的限制范围内。

public class SampleArray {
    
    private String[][] sampleArray;
    
    public SampleArray(int rows, int columns) {
        this.sampleArray = new String[rows][columns];
        
        for (int row = 0; row < rows; row++) {
            for (int column = 0; column < columns; column++) {
                sampleArray[row][column] = "";
            }
        }
    }
    
    public void setArrayValue(String value, int row, int column) {
        this.sampleArray[row][column] = value;
    }
    
    public String getArrayValue(int row, int column) {
        return sampleArray[row][column];
    }
    
    public String[] getSampleColumn(int column) {
        String[] columnString = new String[sampleArray.length];
        for (int row = 0; row < sampleArray.length; row++) {
            columnString[row] = sampleArray[row][column];
        }
        
        return columnString;
    }
    
    public String[] getSampleRow(int row) {
        return sampleArray[row];
    }

    public String[][] getSampleArray() {
        return sampleArray;
    }

}

相关问题