Почему я получаю несоответствия в возвращаемых данных. Он отлично работает до 3, затем бум, он доходит до конца. То, что я делаю, просто. Я принимаю значения из txt-файла с идентификатором, именем и сопоставлением идентификаторов с другим txt-файлом с именем, именем, чтобы он отображался как id, id, как вы можете видеть ниже. Однако он не работает так, как вы ожидали. Совпадение выполняется отлично до тех пор, пока оно не испортится.Почему мой код возвращает неверные ключи на нескольких этапах?
0,1
1,3
0,2
0
3,0,4
2
3,0
4,2
4,1
2,
while ((output2 = br2.readLine()) != null) {
String[] vv = output2.split(",");
String value1 = vv[0];
String value2 = vv[1];
for (Map.Entry<Integer, String> entry : map.entrySet()) {
int key = entry.getKey();
String value = entry.getValue();
//System.out.println(key+","+value);
if ((value1.equals(value))) {
System.out.print(key + ",");
}
if ((value2.equals(value))) {
System.out.print(key + "\n");
}
}
}
данных
ids.txt
0,Triple H
1,John Cena
2,Megan Fox
3,The Undertaker
4,Pamela Anderson
5,The Rock
text.txt
Triple H,John Cena
John Cena,The Undertaker,
Triple H,Megan Fox
The Undertaker,Triple H
Можете ли вы разместить здесь 2 txt-файла (только первые беспорядочные линии)? – CtrlX
Эй, я сделал. Проверьте изменение. –
Хотя это не решит вашу проблему, помните, что вы можете просто использовать if (vv [0] .equals (value)) вместо того, чтобы делать переменную с именем value1 и проверять, что это значит. – Chronicle