所以我目前正在研究一个有趣的挑战计划。面临的挑战是从工作目录中的文件中读取数组,反转数组并将其写回到输出文件。有人可以指出我的错误吗?我一直在寻找相关的先前询问的问题,但找不到任何问题。我已经到了编译和运行代码的地步,但是我根本看不到任何输出。我知道代码还没有反转数组。我只想先查看内容,但对我来说不起作用。
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.File;
public class ReverseArray {
public static void main(String[] args) {
File in = new File("inputFile.txt");
File out = new File("outputFile.txt");
try{
Scanner s = new Scanner(in);
PrintWriter writer = new PrintWriter(out);
int[] array = new int[s.nextInt()];
for (int i = 0; i <array.length; i++){
array[i] = s.nextInt();
}
writer.print(array);
writer.flush();
writer.close();
}catch(Exception e) {
}
}
}
答案 0 :(得分:1)
反转输入,而不是整个数组写一个数组地写一个数组。
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.File;
public class ReverseArray {
public static void main(String[] args) {
File in = new File("inputFile.txt");
File out = new File("outputFile.txt");
try{
Scanner s = new Scanner(in);
PrintWriter writer = new PrintWriter(out);
int[] array = new int[s.nextInt()];
for (int i = 0; i <array.length; i++){
array[i] = s.nextInt();
writer.print(array[i]);
}
writer.flush();
writer.close();
}
catch(Exception e){
}
}
}
答案 1 :(得分:1)
您的首要错误是在程序中包含该部分:
catch(Exception e){
}
这可以用英文写成,“如果发生某种错误并且程序无法继续正常处理,请不要告诉我,也不要给我通常遇到这种情况时要提供的信息错误。请不要向我提供任何可以帮助我分析正在发生的事情的信息。“
您可能永远都不会在程序中拥有这种东西。
如果您确实必须进行尝试/捕获,那么至少要这样做:
catch(Exception e){
e.printStackTrace();
}
如果发生错误,Java将为您提供有关发生错误的位置及其性质的有用信息。
但是更好的是,完全摆脱整个 try 机制。
编译器会抱怨可能会发生IOException,您将这样解决:
public static void main(String[] args) throws IOException {
进行了这些更正之后,您将获得有关程序中发生了什么问题的信息,我们将能够进一步分析您的其他问题。