私のクラスのショートプログラムを書きましたが、私は理解できないことがあります。だから私は100のランダムな整数をファイルに書いて、データを読み返して、整数を昇順で印刷することになっています。すべて正常に動作しますが、出力ファイルに最後のソートされたリストが表示されないので、誰でもその理由を見ることができます。ファイルへの入出力ファイル
はここに私のコードです:
private final static int NUMBEROFRANDOM = 100;
public static void main(String[] args) throws IOException {
// Creating my file
java.io.File file = new java.io.File("Question1.txt");
// If it already exists, print a message and terminate program
if (file.exists()) {
System.out.println("File already exists.");
System.exit(0);
}
// Creating my PrintWriter object
PrintWriter output = new PrintWriter(file);
// Creating 100 random numbers between 0 and 100 and printing them on the file
for (int i = 0; i < NUMBEROFRANDOM; i++) {
int number = (int) (Math.random() * 101);
output.print(number + " ");
}
// Creating my Scanner object
Scanner input = new Scanner(file);
// Creating my array list to store the sorted list of 100 elements
ArrayList<Integer> sortedList = new ArrayList<Integer>();
// Reading the elements from the file and adding them into my array list
while (input.hasNext()) {
sortedList.add(input.nextInt());
}
//Sorting elements from array list
Collections.sort(sortedList);
// Printing the elements in increasing order
for (int i = 0; i < sortedList.size(); i++) {
//System.out.println(sortedList.get(i));
output.print(sortedList.get(i));
}
// Closing my objects
input.close();
output.close();
}
はどうもありがとうございました、任意のヘルプは非常に感謝されます!
数字を作成した後に出力を閉じる必要があります。 – notyou
誰かが私にそれを打つのを見る - 私のマシンは私のIDEを開いてあまりにも長い時間を過ごした:) – notyou