Мне нужно добавить 5 новых имен в hashmap и завершить код - PullRequest
0 голосов
/ 30 октября 2019

Следующий код 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. * Я уже добавил и исправил часть кода, но застрял на этом
...