0

所以我整天都在努力扔这个项目,此时我不知道该去哪里。该项目是创建一个由 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];
   }

}

4

1 回答 1

1

您可以使用 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();
}
于 2013-10-13T05:39:21.380 回答