0

このプログラムは、datafile.txt という名前のファイルを作成し、ランダムに作成された 100 個の整数をテキスト I/O を使用してファイルに書き込みます。また、数値を昇順にソートするための bubbleSort も実装しましたが、ソートされていません。さらに、コマンドラインへの出力は、「並べ替えられた数字は次のとおりです。[I@f72617」100回。前もって感謝します。

   import java.io.*;
   import java.util.Random;

   public class Lab5 {

//sort array
static int[] bubbleSort(int[] array) {

    for (int pass = 1; pass <= 100; pass++) {
        for (int current = 0; current < 100-pass; current++) {

            //compare element with next element
            if (array[current] > array[current + 1]) {

                //swap array[current] > & array[current + 1]
                int temp = array[current];
                array[current] = array[current + 1];
                array[current + 1] = temp;
            } //end if
        }
    }
    return array;
}
public static void main(String args[]) {

    //Open file to write to
    try {
        FileOutputStream fout = new FileOutputStream("F:\\IT311\\datafile.txt");


    int index = 0;

    //Convert FileOutputStream into PrintStream 
    PrintStream myOutput = new PrintStream(fout);
    Random numbers = new Random();
        //Declare array
        int array[] = new int[100];
        for (int i = 0; i < array.length; i++)
        {
        //get the int from Random Class
        array[i] = (numbers.nextInt(100) + 1);

        myOutput.print(array[i] + " ");

        //sort numbers
        int[] sortedArray = bubbleSort(array);

        //print sorted numbers
        System.out.print("The sorted numbers are: ");
        System.out.print(sortedArray);
        }
    }
    catch (IOException e) {
        System.out.println("Error opening file: " + e);
        System.exit(1);
    }
}

}

4

3 に答える 3

1

以下を使用します。

System.out.print(Arrays.toString(sortedArray));
于 2013-07-08T04:55:12.023 に答える
0

それ以外の

    System.out.print(sortedArray);

使用する

for(int a : sortedArray)    
        System.out.println(a);

最初のものは、配列のアドレスを出力しています。2 つ目は、配列の各要素を出力します。

于 2013-07-08T05:00:59.843 に答える