输入错误匹配异常

时间:2013-10-16 04:21:52

标签: java exception

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

显示inputmismatch异常

1 个答案:

答案 0 :(得分:3)

您的行occ=k.nextLine();将读取前一个整数之后的换行符,而不是读取您希望它读取的文本行。在此之前,您需要额外拨打k.nextLine()。当你在每个Room的末尾读取点时,你也需要相同的东西。