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 回答