今天在学习java 类的过程中遇到了这个问题,身为小白,在网上翻了不少大佬的博客才搞明白,这才想着自己也记录一下自己在学习过程中遇到的各种bug~~~
上图~
因为定义的函数是非静态的,那么静态main 调用函数的时候,需要实例化对象,
public class hero{
public int Max(int [][]b) {
int max=0;
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
if(b[i][j]>max)
max=b[i][j];
return max;
}
public static void main(String[] args){
int [][]a=new int[5][5];
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
a[i][j]=(int)(Math.random()*100);
hero Max=new hero();
System.out.println("最大值为"+Max.Max(a));
}
}
或者直接将函数定义为static ,同为静态,可以直接引用。
public class hero{
public static int Max(int [][]b) {
int max=0;
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
if(b[i][j]>max)
max=b[i][j];
return max;
}
public static void main(String[] args){
int [][]a=new int[5][5];
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
a[i][j]=(int)(Math.random()*100);
// hero Max=new hero();
int max=Max(a);
System.out.println("最大值为"+max);
}
}