如何从私有方法调用数组?

时间:2015-04-28 02:40:01

标签: java arrays methods call private

所以,我必须创建一个创建结果的应用程序,我已经完成了所有事情,我认为????但我不知道如何让私有方法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

2 个答案:

答案 0 :(得分:1)

您的数组仅存在于方法范围内。把定义放在外面,使它成为类变量,如下所示:

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
}

答案 1 :(得分: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