0
try
  {
     File f=new File(fname);
     Scanner k=new Scanner(f);
     Scanner k3=new Scanner(System.in);
     int drNr;
     String occ;
     int  adl;
     int child;
     while(k.hasNext())
     {
        drNr=k.nextInt();
        occ=k.nextLine();
        adl=k.nextInt();
        child=k.nextInt();
        k.nextLine();
        Room r=new Room(drNr,occ,adl,child);
        roomList.add(r);
     }
     k.close();
  }
  catch(FileNotFoundException e)
  {
     System.out.println("file not found");
  }
  catch(Exception e)
  {
     System.out.println(e);
   }

読み込まれるテキストファイルは

111
John Adams
1
0
.
222
Paul Brake
2
1
.
333
George Clarke
2
2
.
4

入力ミスマッチの例外を示しています

4

1 に答える 1

3

occ=k.nextLine();は、読み取りたいテキスト行を読み取るのではなく、前の整数の後に改行文字を読み取ります。この前に追加の呼び出しを挿入する必要がありますk.nextLine()。それぞれの最後にあるドットを読むときにも同じものが必要になりますRoom

于 2013-10-16T04:24:26.230 に答える