Как уже упоминали другие, ваша переменная count увеличивается каждый раз, когда буквы совпадают, независимо от того, сколько раз s1 имеет букву. Если вы хотите использовать решение для подсчета, вам нужно увеличить число для каждой буквы:
import java.util.HashMap
import java.util.Map
/* This is how to declare HashMap */
HashMap<char, String> s1map = new HashMap<char, String>();
HashMap<char, String> s2map = new HashMap<char, String>();
for (int j = 0; j < s1.length(); j++){
//We create 2 hashmaps to count the number of each char in each word separately
s1map.put(key, s1map.getOrDefault(key, 0) + 1);
s2map.put(key, s2map.getOrDefault(key, 0) + 1);
}
Наконец, вы можете сравнить получившиеся карты с:
if s1map.equals(s2map){
print("They are anagrams")
}
else{
print("They are not anagrams")
}