I've done a number of iterations of the code below and it works perfectly with every variation of input I use, but it's not verifying. Anyone got any clues?
package com.codegym.task.task10.task1019;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
/*
Functionality is not enough!
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Scanner scanner = new Scanner (System.in);
ArrayList<String> list = new ArrayList<>();
ArrayList<Integer> iList = new ArrayList<>();
ArrayList<String> sList = new ArrayList<>();
HashMap<Integer, String> map = new HashMap<>();
while(scanner.hasNext()) {
String data = scanner.nextLine();
list.add(data);
}
for(int i = 0; i < list.size(); i++){
if(i % 2 == 0){
int k = Integer.parseInt(list.get(i));
map.put(k, null);
iList.add(k);
}
else{
String v = list.get(i);
sList.add(v);
}
}
for(int i = 0; i < sList.size(); i++){
int k = iList.get(i);
String v = sList.get(i);
map.replace(k, v);
}
map.forEach((key, value) -> {
if(value != null){
System.out.println(key + " " + value);
}
else{
System.out.println(key);
}
});
}
}