我正在从文本文件(“ text.txt”)中读取行,然后将它们存储到树形图中,直到出现apply一词。
但是,执行此操作后,我在树状图中没有最后一行“ 4 apply”
text.txt
1添加
3倍
4申请
6添加
Scanner input = new Scanner(file);
while(input.hasNextLine()){
String line = input.nextLine();
String[] divline = line.split(" ");
TreeMap<Integer, String> Values = new TreeMap();
if(!divline[1].equals("apply"))
{
Values.put(Integer.valueOf(divline[0]), divline[1]);
}
else
{
Values.put(Integer.valueOf(divline[0]), divline[1]);
break;
}
System.out.println(Values);
}
最佳答案
您每次都在while循环内创建新地图。将以下代码放在while循环之前。
TreeMap<Integer, String> valores = new TreeMap();
同样,地图内容的打印也需要纠正。所以你的最终代码可以是
Scanner input = new Scanner(file);
TreeMap<Integer, String> valores = new TreeMap();
while(input.hasNextLine()){
String line = input.nextLine();
String[] divline = line.split(" ");
if(!divline[1].equals("apply")){
valores.put(Integer.valueOf(divline[0]), divline[1]);
} else {
valores.put(Integer.valueOf(divline[0]), divline[1]);
break;
}
}
for (Entry<Integer,String> entry: valores){
System.out.println(entry.getKey() + "- "+entry.getValue());
}