morsezeichenProgramm

tuc

Mitglied
Hallo:)
ich sitze seit 2 stunden an einer bestimmt sehr einfachen aufgabe aber ich bräuchte mal paar denkanstöße bzw tipps.
es geht um die teilaufgabe b), die ich als bildformat hochladen
Ich weiß nicht wie ich das umsetze und bin viel am rumprobieren, leider ohne erfolg.
das ist mein code:
Code:
public class Morse {
    public static String[][] morse = { { "A", "." }, { "B", ".-" }, { "C", ".-." }, { "D", "-.-" } };
    // public static HashMap<String,String> mapi = new HashMap<>();

    // a)
    public static HashMap<String, String> getMorseCodeMap(String[][] table) {
        HashMap<String, String> mapi = new HashMap<>();
        for (int i = 0; i < table.length; i++) {
            mapi.put(table[i][0], table[i][1]);

        }
        return mapi;
    }

    // b)
    public static String zeichenketteToMorse(String s) {
        HashMap<String, String> schlomo = getMorseCodeMap(morse);
        String[] mä = null;
        String norm = null;
        char[]yarp = s.toCharArray();
        for(char c : yarp){
            mä = schlomo.get(yarp[c]);   
            norm = mä.toString();
        }
       
        return norm;
        }
 

Anhänge

  • Unbenannt1.PNG
    Unbenannt1.PNG
    160,1 KB · Aufrufe: 17

tuc

Mitglied
ich habe um es zu vereinfachen nicht das ganze alphabet in die tabelle eingetragen.
bei der aufgabe b) ist es mit dem zu übergebenden string so gemeint, dass man zb irgendein wort übergibt und diese mit hilfe der hashmaptabelle in morsecode umgewandelt wird.
in meiner mainmethode habe ich testweise versucht "ACCDB" umwandeln zu lassen, was nicht funktionierte
also stört euch bitte nicht zu sehr an meinem code , da ist viel quatsch drin, hab vieles probiert usw:)
wie kann ich das umwandeln und als string zurückgeben?
ich denke, dass ich die hashmap durchlaufen muss und anhand des keys die values rauslesen muss und speichern muss aber ich kann es einfach nicht realisieren:(
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Code:
public static String zeichenketteToMorse(String s) {
        HashMap<String, String> schlomo = getMorseCodeMap(morse);
        String norm = null;
        char[]yarp = s.toCharArray();
        for(Character c : yarp){
            norm  += schlomo.get(c.toString())+" "; 
        }
      
        return norm;
        }

Ich kann es gerade nicht testen aber so sollte es gehen
 

tuc

Mitglied
wow vielen dank für die blitzantwort:)
es funktioniert und wird richtig verschlüsselt, nur steht ganz am anfang noch ein null in der ausgabezeile, dass mir rätselhaft ist. ich werde den code mal studieren, damit ich ihn auch verstehe, denn er ist mir noch nicht ganz so klar.
merci:)
 

Neue Themen


Oben