gpt4 book ai didi

java - 如果在一个循环中没有按预期运行 java

转载 作者:行者123 更新时间:2023-11-30 06:13:31 25 4
gpt4 key购买 nike

我正在从文本文件(“text.txt”)中读取行,然后将它们存储到 TreeMap 中,直到出现“应用”一词。

但是执行此操作后, TreeMap 中没有我想要的最后一行“4 apply”

文本.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 循环中创建新 map 。将下面的代码放在 while 循环之前。

TreeMap<Integer, String> valores = new TreeMap();

还需要更正 map 内容的打印。所以你的最终代码可以是

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());
}

关于java - 如果在一个循环中没有按预期运行 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com