我如何调用从私有方法的阵列?(How do i call an array from private

2019-10-22 20:33发布

所以,我不得不做出这样的创建结果的应用程序,我已经完成了一切,我觉得???? 但我不知道如何让我的私有方法outputData输出从私有方法GetValue数组结果。

这是我

 // CreateResults.java
// Create poll results and output them to a file.
import java.io.FileNotFoundException;
import java.util.Formatter;
import java.util.FormatterClosedException;
import java.util.IllegalFormatException;
import java.util.NoSuchElementException;
import java.util.Scanner;

public class CreateResults
{
   private int getValue()
   {
         int[]results = { 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9 };
         outputData(results);

   } // end method getValue

   private void outputData(int[] output) 
   {

         for (int row = 0; row < results.length; row++) {
         System.out.println(input [row]);
   }//end for
   } // end method outputData

   public static void main( String args[] )
   {
      CreateResults application = new CreateResults();
      application.outputData();
   } // end main
} // end class CreateResults

Answer 1:

为了让您的代码工作,你需要做getValue公众(和它不返回任何东西,使它无效)

然后你的内main然后你可以再调用application.getValue()这将创建数组,然后调用outputData

public void getValue()
{
     int[]results = { 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9 };
     outputData(results);

} // end method getValue

public static void main( String args[] )
{
  CreateResults application = new CreateResults();
  application.getValue ();
} // 

另外,作为你outputData正在研究的输入参数, output则需要将其更改为

 private void outputData(int[] output) 
 {

     for (int row = 0; row < output.length; row++) {
         System.out.println(output[row]);
     }
 }//e


Answer 2:

您的阵列只存在方法范围内。 把定义之外,使之类的变量,就像这样:

public class CreateResults
{
int[]results;
   private int getValue()
   {
         results = new int[] { 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9 };
         outputData(results);

   } // end method getValue
}


文章来源: How do i call an array from private methods?