0

私はファイルのユーザー入力に書き込み、それを読んでいます。ファイルへの書き込みには、そのようなフォーマッターを使用しています

output.format("%-10s%-20s%-20s%-20s%-20s%-20s%-20s%-20s\n",
                                        year_n,
                                        months[month_n],                        
                                        record.getIncome(),
                                        df.format(record.getAtv()),
                                        df.format(record.getSumAtv()),
                                        df.format(iedz),
                                        df.format(soc_apd),
                                        df.format(netto));

同じファイルを再度読み取るために、まったく同じフォームを使用していますが、そのファイルを読み取れないと表示されます。

リーダーのコード。

try {
            while(input.hasNext())
            {
                record.setYear(input.nextInt());//nolasa vērtības no faila
                record.setMonth(input.nextInt());
                record.setIncome(input.nextDouble());
                record.setAtv(input.nextDouble());
                record.setSumAtv(input.nextDouble());
                record.setIedz(input.nextDouble());
                record.setSoc_apd(input.nextDouble());
                record.setNetto(input.nextDouble());                

                ///rezultātu attēlošana
        System.out.printf("%-10s%-20s%-20s%-20s%-20s%-20s%-20s%-20s%n", //parāda uz ekrāna
                record.getYear(), // piešķir objektam record
                record.getMonth(),
                record.getIncome(),
                record.getAtv());   
                record.getSumAtv();
                record.getIedz();
                record.getSoc_apd();
                record.getNetto();
            }

最近のいくつかの変更の前は、問題なく機能していました。コンマの後の2つの整数だけのために二重変数をフォーマットしたからだと思いますか?それが問題でしょうか?

私はこのように設定されたキャッチ例外を持っています:

catch (NoSuchElementException elementException){
            System.err.println("Fails nepareizi noformēts");
                input.close();
                System.exit(1); 
        }

ファイルを読み取ろうとするたびに、この例外が発生しました。

書き込まれるファイルは次のようになります。

2013      Oktobris            50000.0             400                 445                 11893.2             5451.05             32655.75  

ありがとう、助けていただければ幸いです:)

4

1 に答える 1

0

解決策を見つけました。問題は、そのようなものがないことでした:

record.setMonth(input.nextString());

txtファイルから文字列を読み取るとき、しかしただ:

record.setMonth(input.next());

ありがとう :)

于 2013-11-03T20:56:25.110 に答える