0

私はまだJavaにかなり慣れていないので、クラスのプロジェクトに取り組んでいます.userInput(fileName)を取得してそこから新しいオブジェクトを作成するプログラムをどのように作成するかわかりません。私の指示は、ユーザーからファイル名を読み取り、そのファイルからデータを読み取り、オブジェクト (タイプ StudentInvoice) を作成し、それらを ArrayList に格納するプログラムを作成することです。

これが私が今いる場所です。

    public class StudentInvoiceListApp {

    public static void main (String[] args) {
    Scanner userInput = new Scanner(System.in);
    String fileName;

    System.out.println("Enter file name: ");
    fileName = userInput.nextLine();

    ArrayList<StudentInvoice> invoiceList = new ArrayList<StudentInvoice>();
    invoiceList.add(new StudentInvoice());
    System.out.print(invoiceList + "\n");

    }
4

2 に答える 2

0

ロバートが言ったように、ファイルに保存されているデータの形式に関する十分な情報はありません。ファイルの各行に学生のすべての情報が含まれているとします。プログラムは、ファイルを行ごとに読み取り、行ごとにStudentInvoiceを作成することで構成されます。このようなもの:

public static void main(String args[]) throws Exception {
    Scanner userInput = new Scanner(System.in);
    List<StudentInvoice> studentInvoices = new ArrayList<StudentInvoice>();
    String line, filename;

    do {
        System.out.println("Enter data file: ");
        filename = userInput.nextLine();
    } while (filename == null);

    BufferedReader br = new BufferedReader(new FileReader(filename));
    while ( (line = br.readLine()) != null) {
        studentInvoices.add(new StudentInvoice(line));
    }

    System.out.println("Total student invoices: " + studentInvoices.size());
}
于 2012-10-02T21:20:05.533 に答える
0

ストリームからオブジェクトをシリアル化/逆シリアル化するためのクラスを作成してみてください (この記事を参照)。

于 2012-10-02T19:22:08.003 に答える