嗨我在阅读文本文件时遇到问题:
我将一个名为huizen.txt的文件加载到Java中,该文件如下:(我把它放在工作区,C:\,src,bin,在项目本身和桌面上的Files中,仍然不知道在哪里说得对吗)
3
Emmalaan 23
3051JC Rotterdam
7 kamers
prijs 300000
Javastraat 88
4078KB Eindhoven
3 kamers
prijs 50000
Javastraat 93
4078KB Eindhoven
4 kamers
prijs 55000
现在我希望(最后......)通过公寓的读取方法循环3次,因为3是公寓的数量。但是当我尝试:int NumberOfAppartmentsInList = scanner.nextInt();
时,这不起作用!即使是scanner.hasNextInt()
,我也会误报,即使我在为字符串行创建一个arraylist时尝试NumberOfAppartmentsInList = Integer.parseInt(list.get(0))
。
任何人都可以帮助我吗?
提前Tnx!Grtz(以下代码)
public static Portefeuille read(String infile) throws Exception
{
Portefeuille protonX = new Portefeuille();
ArrayList<String> huizen = new ArrayList<String>();
Scanner sc = new Scanner("huizen.txt");
while (sc.hasNext())
{
huizen.add(sc.nextLine());
}
String infil3 = huizen.toString();
Scanner scan = new Scanner(infil3);
if (scan.hasNextInt())
{
int aantal = scan.nextInt();
System.out.println(aantal);
}
else{
System.out.println("ERROR");
}
ArrayList<Woning> list = new ArrayList<Woning>();
for (int i = 0; i < 4; i++)
{
list.add(Woning.read(scan));
}
scan.close();
sc.close();
return protonX;
}
答案 0 :(得分:0)
我猜你没有按照正确的顺序阅读数据。加上huizen.toString()不会给你所有字符串的总和。
所以修复它的一种方法可能是这样的:
public static Portefeuille read(String infile)抛出异常 {
Portefeuille protonX = new Portefeuille();
ArrayList<String> huizen = new ArrayList<String>();
Scanner sc = new Scanner("huizen.txt");
while (sc.hasNext())
{
huizen.add(sc.nextLine());
}
String infil3 = "";
for (String h : huizen)
{
infil3 += h + "\n";
}
Scanner scan = new Scanner(infil3);
if (scan.hasNextInt())
{
int aantal = scan.nextInt();
System.out.println(aantal);
}
else{
System.out.println("ERROR");
}
ArrayList<Woning> list = new ArrayList<Woning>();
for (int i = 0; i < aantal; i++)
{
list.add(Woning.read(scan));
}
scan.close();
sc.close();
return protonX;
}