繁体   English   中英

从方法传递数组值并写入文本输出文件

[英]passing array values from methods and writing to text output file

所以我整天都在烦恼地抛出这个项目,现在我不知道该去哪里。 该项目将创建一个1000个随机整数的数组,这些数组的赋值为1-10。 接下来,创建一个数组,该数组存储生成的整数的频率。 接下来,计算数组中整数的平均值。 最后,将所有这些值输出到文本文件。 我看了无数视频,这时完全迷失了。 文本中的示例适用于一种输出文本的主要方法。 我不确定是否应该将文本文件命令放入main方法中,还是应该开发一个单独的方法来处理文本文件输出。 如果是这样,我不确定是否将数组从其他方法传递到新的textFile方法中,或者您有什么...

上周是我第一次使用多种方法,而本周是我第一次使用数组,因此在这里的任何指导将不胜感激。

到目前为止,这是我的代码。

 package randomintegers;
 import java.util.*;
 import java.io.*;


 public class RandomIntegers {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    int randomNumbers[] = new int [1000];
    int i;
    for (i=0;i<randomNumbers.length;++i){
    randomNumbers[i] = 1 + (int)(Math.random() * 10);

    }
    calcFrequency(randomNumbers);
    calcAverage(randomNumbers);
}


public static void calcFrequency(int[] inputArray){
    int[] freq=new int[10];
    int i;
    for (i=0;i<inputArray.length;++i){
        ++freq[inputArray[i]-1];    
    }

    //System.out.println(inputArray);
    //System.out.println( (inputArray[i] + 1) + " occured " + freq[i] + " times" );
    System.out.println(Arrays.toString(freq));    }

      public static double calcAverage(int[] randomNumbers)
   {
       int sum = 0;
       for(int i : randomNumbers) sum += i;
        return ((int) sum)/randomNumbers.length;
   }

       public static void textRead(int[] calcAverage int[] calcFrequency)throws FileNotFoundException;{
       Scanner input = new Scanner(new File("randomIntegers.txt"));
       int frequency = input.nextInt();
       int [] outputFreq = new int[10];
   }

}

您可以使用PrintWriter写入文件。

我已经注释了代码,因此很容易理解。

/**
 * Writes array to file.
 * @param array array to write
 * @param fileName name of file in which array will be written
 * @throws FileNotFoundException if creating file fails
 */
public void writeArrayToFile(int [] array, String fileName) throws FileNotFoundException{
    // create PrintWriter object to write to file
    PrintWriter writer = new PrintWriter(fileName);

    // iterate through array, write each element of array to file
    for(int i = 0; i < array.length; i++){
        // write array element to file
        writer.print(array[i]);
        // write separator between array elements to file
        writer.print("\n");
    }

    // done writing, close writer
    writer.close();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM