簡體   English   中英

外部類的調用方法

[英]Call Method Outside Class

所以我試圖調用另一個類中的方法。

這是一個簡單的任務,我在這里查看了許多教程和其他文章,但是由於某種原因,我無法使其正常工作。

這是頭等艙

public class ArrayProcessor {

   public void print3IntArray(int[] array) {
      for (int i = 0; i < 3; i++) {
         System.out.println("Entry " + i + " is " + array[i]);
      }
   }
}

我第一次嘗試

import java.util.Random;

public class ArrayProgram {

   public static void main(String[] args) {

   Random rand = new Random();

   int[] anArray = new int[3];

      for(int i = 0; i < 3; i++) {
         int random = rand.nextInt(11);
         anArray[i] = random;
      }
   }
   ArrayProcessor.print3IntArray(anArray);
}

但是在查看了該網站上的一些帖子后,我嘗試了

import java.util.Random;

public class ArrayProgram {

   public static void main(String[] args) {

   ArrayProcessor ap = new ArrayProcessor();

   Random rand = new Random();

   int[] anArray = new int[3];

      for(int i = 0; i < 3; i++) {
         int random = rand.nextInt(11);
         anArray[i] = random;
      }
   }
   ap.print3IntArray(anArray);
}

這兩個代碼都給我以下錯誤:

ArrayProgram.java:21: error: <identifier> expected
   ap.print3IntArray(anArray);
                    ^
ArrayProgram.java:21: error: <identifier> expected
   ap.print3IntArray(anArray);
                            ^
2 errors

你叫這個

ap.print3IntArray(anArray);

main方法的大括號后,因此您的代碼實際上並不駐留在任何方法或代碼的容器塊中,這是編譯器無法接受的。 更改

} // closing curly brace of main()
ap.print3IntArray(anArray);

    ap.print3IntArray(anArray);
} // closing curly brace of main()

您不能調用ArrayProcessor.print3IntArray(anArray); 在方法之外(在本例中為main方法)之外,但是如果要在main方法內部調用它,則使ArrayProcessor類中的函數print3IntArray靜態。

public class ArrayProcessor{
    public static void print3IntArray(int[] array) 
      {
       for (int i = 0; i < 3; i++) {
        System.out.println("Entry " + i + " is " + array[i]);
      }   
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM