将参数传递给并在没有构造函数的情况下调用方法

时间:2015-02-03 02:51:00

标签: java method-call

我有一个家庭作业,我必须将2D数组传递给一个方法,该方法将2D数组作为参数并打印出来。我的表工作正常,问题是我无法弄清楚如何在没有构造函数的情况下从我的main方法调用此方法。

我知道明显的解决方案是先简单地制作一个构造函数方法并使用它,但遗憾的是,由于作业的要求,我不能这样做。

任何人都可以告诉我如何调用此方法,传递参数并将其从主方法打印出来,而不使用构造函数方法?谢谢。

我正在获取:pgm1.java:75: error: non-static method arrays(int[][]) cannot be referenced from a static context
arrays(tenBy); ^ 1 error

public class pgm1

{

public void arrays(int[][] userArray)
{

    int rowTotal = 0;
    int colTotal = 0;
    int allTotal = 0;       


    //For loop to populate array, find total values of all odd rows,
    //all even columns, and all total index values
    for (int i = 0 ; i < userArray.length ; i++)
    {

        for (int h = 0 ; h < userArray.length ; h++)
        {           
            userArray[i][h] = i * h;
            System.out.printf("%3d" , userArray[i][h]);

            //Running total of all index values
            allTotal += userArray[i][h];

            //Running total of all odd rows
            if (i % 2 == 1)
                rowTotal += userArray[i][h];

            //Running total of all even columns
            if (h % 2 == 0)
                colTotal += userArray[i][h];                    
        }
        System.out.println();           

    }

    //Print all totals
    System.out.println("\n Total of odd numbered rows: " + rowTotal);
    System.out.println(" Total of even numbered columns: " + colTotal);
    System.out.println(" Total of all numbers: " + allTotal);
}


public static void main(String[] args)
{

    //Creating 2D Array
    int[][] tenBy = new int[10][10];

    //arrays();

    arrays(tenBy);      

}

}

1 个答案:

答案 0 :(得分:1)

更改

public void arrays(int[][] userArray)

public static void arrays(int[][] userArray)

JLS-8.4.3.2. static Methods说(部分),

  

声明为static的方法称为类方法。

  

未声明为static的方法称为实例方法,有时也称为非static方法。