【发布时间】:2021-08-22 14:11:32
【问题描述】:
编写一个程序,读取一个 int 类型数字的文件,并将所有数字写入另一个文件,但没有任何重复的数字。 假设输入文件中的数字已经按照从小到大的顺序排列。程序运行后,新文件将包含原文件中的所有数字,但没有数字在文件中出现多次。输出文件中的数字也应该从小到大排序。您的程序应该从用户那里获取两个文件名
Scanner data;
PrintWriter result;
ArrayList<Integer> numbers;
numbers = new ArrayList<>();
try {
data = new Scanner(new File("C:\\Users\\hp\\Desktop\\data.txt"));
}
catch (FileNotFoundException e) {
System.out.println("Can't find file data.txt!");
return;
}
try {
result = new PrintWriter("C:\\Users\\hp\\Desktop\\result.txt");
}
catch (FileNotFoundException e) {
System.out.println("Can't open file result.txt!");
System.out.println("Error: " + e);
data.close();
return;
}
while ( data.hasNextInt()) {
int inputNumber = data.nextInt();
numbers.add(inputNumber);
}
for (int i = numbers.size()-1; i >= 0; i--)
result.println(numbers.get(i));
System.out.println("Done!");
data.close();
result.close();
}
【问题讨论】:
-
你陈述了任务但没有问任何问题。
-
你会用手做什么?重复:读一个数,如果和前一个数不一样,就写。
标签: java file arraylist duplicates