Следующий код JAVA не завершен. После завершения мне нужно добавить 5 новых имен в hashmap. Основной класс должен прочитать txt-файл с именем (names.txt) и распечатать его с помощью класса Hashes
. Он использует хеш-карты и массивы
public class Main {
public static final int ARR_LENGTH = 20;
public static void main(String[] args) throws NoSuchAlgorithmException {
// setup the hash map here
Hashes hashes = new Hashes();
HashMap hashedNamesHM = new HashMap();
String filename = "names.txt";
String[] namesArr;
namesArr = readNames(filename);
//print out every element in the array
for(int i = 0; i < namesArr.length; i++)
{
System.out.println(namesArr[i]);
hashes.makeHash(namesArr[i]);
hashedNamesHM.put(20 , hashes.getHashedStr());
}
System.out.println(hashedNamesHM.toString());
// find your main man
if (namesArr.contains("Mega Man")) {
System.out.println(" = " + hashedNamesHM.get());
} else {
System.out.println("The HashMap does not contain .");
}
// find your leading lady
if (namesArr.contains("Lucina")) {
System.out.println(" = " + hashedNamesHM.get());
} else {
System.out.println("The HashMap does not contain .");
}
}
// read the names from names.txt and put them into an array
public static String[] readNames(String filename)
{
String[] names = new String[ARR_LENGTH];
String currentLine = "";
int index = 0;
return names;
}}
public class Hashes {
private String ;
public void makeHash(String hashName) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] byteArr = md.digest(hashName.getBytes(StandardCharsets.UTF_8));
StringBuilder buildStr = new StringBuilder();
for (byte b : byteArr) {
buildStr.append(String.format("%02x", b));
}
= buildStr.toString();
}
public String getHashedStr() {
return;
}
}
* 1007. * Я уже добавил и исправил часть кода, но застрял на этом