请各位前辈帮忙看看,指导下。我刚学。
不能在static方法中调用非static方法。我想调用setvalue方法的话该如何呢?public class multiarraytest
{
boolean b;
public static void main(String args[])
{
setvalue(2,3,'A');
setvalue(3,5,'B'); // 就是这里的调用出问题了,不能在static方法中调用非static方法。我想调用setvalue方法的话该如何呢?
}
void setvalue(int hang,int lie,char x)
{
if(b==false)
{
double arrayname1[][];
arrayname1=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i<hang;i++)
{
arrayname1[i]=new double[lie];
for(int j=0;j<lie;j++)
{
arrayname1[i][j]=(double)(i*2+j);
System.out.print(arrayname1[i][j]);
}
System.out.println("");
}
b=true;
}
else
{
double arrayname2[][];
arrayname2=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i<hang;i++)
{
arrayname2[i]=new double[lie];
for(int j=0;j<lie;j++)
{
arrayname2[i][j]=(double)(i*2+j);
System.out.print(arrayname1[i][j]);
}
System.out.println("");
}
b=false;
}
}
}
不能在static方法中调用非static方法。我想调用setvalue方法的话该如何呢?public class multiarraytest
{
boolean b;
public static void main(String args[])
{
setvalue(2,3,'A');
setvalue(3,5,'B'); // 就是这里的调用出问题了,不能在static方法中调用非static方法。我想调用setvalue方法的话该如何呢?
}
void setvalue(int hang,int lie,char x)
{
if(b==false)
{
double arrayname1[][];
arrayname1=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i<hang;i++)
{
arrayname1[i]=new double[lie];
for(int j=0;j<lie;j++)
{
arrayname1[i][j]=(double)(i*2+j);
System.out.print(arrayname1[i][j]);
}
System.out.println("");
}
b=true;
}
else
{
double arrayname2[][];
arrayname2=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i<hang;i++)
{
arrayname2[i]=new double[lie];
for(int j=0;j<lie;j++)
{
arrayname2[i][j]=(double)(i*2+j);
System.out.print(arrayname1[i][j]);
}
System.out.println("");
}
b=false;
}
}
}
{
boolean b;
public static void main(String args[])
{
multiarraytest array = new multiarraytest();
array.setvalue(2,3,'A');
array.setvalue(3,5,'B'); // 就是这里的调用出问题了,不能在static方法中调用非static方法。我想调用setvalue方法的话该如何呢?
}
void setvalue(int hang,int lie,char x)
{
if(b==false)
{
double arrayname1[][];
arrayname1=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i <hang;i++)
{
arrayname1[i]=new double[lie];
for(int j=0;j <lie;j++)
{
arrayname1[i][j]=(double)(i*2+j);
System.out.print(arrayname1[i][j]);
}
System.out.println("");
}
b=true;
}
else
{
double arrayname2[][];
arrayname2=new double[hang][];
System.out.println("数组"+x+" 初始化为:");
for(int i=0;i <hang;i++)
{
arrayname2[i]=new double[lie];
for(int j=0;j <lie;j++)
{
arrayname2[i][j]=(double)(i*2+j);
System.out.print(arrayname2[i][j]);
}
System.out.println("");
}
b=false;
}
}
}
boolean b; public static void main(String args[]) {
Multiarraytest multiarraytest = new Multiarraytest();
multiarraytest.setvalue(2, 3, 'A');
multiarraytest.setvalue(3, 5, 'B');
} void setvalue(int hang, int lie, char x) {
if (b == false) {
double arrayname1[][] = new double[hang][];
System.out.println("数组" + x + " 初始化为:");
for (int i = 0; i < hang; i++) {
arrayname1[i] = new double[lie];
for (int j = 0; j < lie; j++) {
arrayname1[i][j] = (double) (i * 2 + j);
System.out.print(arrayname1[i][j] + " ");
}
System.out.println("");
}
b = true;
} else {
double arrayname2[][] = new double[hang][];
System.out.println("数组" + x + " 初始化为:");
for (int i = 0; i < hang; i++) {
arrayname2[i] = new double[lie];
for (int j = 0; j < lie; j++) {
arrayname2[i][j] = (double) (i * 2 + j);
System.out.print(arrayname2[i][j] + " ");
}
System.out.println("");
}
b = false;
}
}
}