为什么我不能在方法之外使用System.out.println,当我试图在其他类中使用我的主类的方法时,它显示找不到标识



为什么我不能在方法之外使用System.out.println,当我试图在其他类中使用我的主类的方法时,它显示找不到标识符也许有更好的方法可以做到这一点。但我想了解一下这里出了什么问题

package arraytest;           //package declared 
import java.util.Scanner;    // for input
public class Arr {           // this is my main class 
    void min(int arr[])
    {
      int min=arr[0];  
      for(int i=1;i<arr.length;i++)  
       { if(min>arr[i])  
         min=arr[i];  
       }
   System.out.println(min);  
    }
    public static void main(String[] args) 
    {
       Array a=new Array();
       a.inputData();
       a.display();
       a.min();
    }
}

class Array
 {
        int arr[]=new int[5];
        Scanner sc= new Scanner(System.in);
       // System.out.println(arr.length);   will not work why?
        void inputData()
        {
            for(int i=0;i<arr.length;i++)
             {
               arr[i]=sc.nextInt();
             }
        }
         void display()
        {
             for(int i=0;i<arr.length;i++)
             {
                System.out.println(arr[i]);
             }
        }
     void min()
    {         
     Arr a=new Arr();    
     a.min(int arr[]);  // this shows error
     } 
}

您不能将代码放在那里。您的代码必须位于方法内部。上面的2行是声明,System.out.println是代码。

代码必须进入方法内部

如果您的arr是静态的,您可以使用静态块,但它不是。

如下更改最小方法,

void min() {
    Arr a = new Arr();
    a.min(arr);  // this shows error
}

这就是将数组的引用传递给方法的方式。

相关内容

最新更新