在没有构造函数的情况下将参数传递给方法并调用方法
Passing parameters to and calling a method without a constructor
我有一个家庭作业,我必须将一个二维数组传递给一个方法,该方法将一个二维数组作为参数并打印出 table。我有 table 工作正常,问题是我无法弄清楚如何在没有构造函数的情况下从我的主要方法调用此方法。
我知道显而易见的解决方案是先简单地创建一个构造函数方法并使用它,但不幸的是,由于作业的要求,我不能这样做。
任何人都可以告诉我如何调用此方法,传递参数并让它从 main 方法中打印出 table,而无需创建构造函数方法?谢谢。
正如我得到的:pgm1.java:75: 错误:无法从静态上下文中引用非静态方法数组 (int[][])
数组(tenBy);
^
1 个错误
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);
}
}
改变
public void arrays(int[][] userArray)
到
public static void arrays(int[][] userArray)
JLS-8.4.3.2. static
Methods 说(部分),
A method that is declared static
is called a class method.
和
A method that is not declared static
is called an instance method, and sometimes called a non-static
method.
我有一个家庭作业,我必须将一个二维数组传递给一个方法,该方法将一个二维数组作为参数并打印出 table。我有 table 工作正常,问题是我无法弄清楚如何在没有构造函数的情况下从我的主要方法调用此方法。
我知道显而易见的解决方案是先简单地创建一个构造函数方法并使用它,但不幸的是,由于作业的要求,我不能这样做。
任何人都可以告诉我如何调用此方法,传递参数并让它从 main 方法中打印出 table,而无需创建构造函数方法?谢谢。
正如我得到的:pgm1.java:75: 错误:无法从静态上下文中引用非静态方法数组 (int[][])
数组(tenBy);
^
1 个错误
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);
}
}
改变
public void arrays(int[][] userArray)
到
public static void arrays(int[][] userArray)
JLS-8.4.3.2. static
Methods 说(部分),
A method that is declared
static
is called a class method.
和
A method that is not declared
static
is called an instance method, and sometimes called a non-static
method.