0

このプログラムは基本的に、テキスト ファイルから読み取り、現在のデータを ArrayList に格納し、(ユーザー入力からの) データを同じテキスト ファイルに書き込みます。このサブパートのどこが間違っているのか教えてください。テキストファイル内のデータは次のとおりです。

abc t1 1900

xyz t2 1700

コンパイラは次の行でエラーを表示していますoutput.format("%s%s%s%n",

public class justTesting {
    private Scanner input;
    private Formatter output;
    private ArrayList<Student> tk = new ArrayList<Student>();

    public static void main(String[] args) {
        justTesting app = new justTesting();

        app.create();
        app.writeToFile();
    }

    public void create() {
        Text entry = new Text();
        Scanner input = new Scanner(System.in);

        System.out.printf("%s\n", "Please enter your name, ID, and year: ");

        while (input.hasNext()) {
            try {
                entry.setName(input.next());
                entry.setTelNumber(input.next());
                entry.setDOB(input.next());

                for (int i = 0; i < tk.size(); i++) {
                    output.format("%s%s%s%n", tk.get(i).getName(), tk.get(i)
                            .getTelNumber(), tk.get(i).getDOB());
                }

            } catch (FormatterClosedException fce) {
                System.err.println("Error writing to file.");
                return;
            } catch (NoSuchElementException nsee) {
                System.err.println("Invalid input. Try again: ");
                input.nextLine();
            }
            System.out.printf("%s\n", "Please enter your name, ID, and year: ");
        }
    }

    public void writeToFile() {
        try {
            output = new Formatter("testing.txt");
        } catch (SecurityException se) {
            System.err
                    .println("You do not have write access permission to this file.");
            System.exit(1);
        } catch (FileNotFoundException fnfe) {
            System.err.println("Error opening or creating file.");
            System.exit(1);
        }
    }
}
4

1 に答える 1

1

%n を削除したところ、うまくいきました。みんな、ありがとう。

于 2012-07-14T19:07:44.060 に答える