我正在尝试将英文字母转换为莫尔斯电码,但是当涉及多个输入字母时,我遇到了困难。我可以说出我的问题是什么,但不能解决。
我对Java还是很陌生,我知道我的做法很草率和重复,但这是我到目前为止所能掌握的全部方法。

我做了一些场景,例如,找出输入中有多少个字母,然后转换每个字母;但同样,我不确定这是否可行或什至可行。

 import java.util.Scanner;

        public class JavaPractice {
            public static void main(String[] args) {
                String morseA;
                morseA = "•-";
                String morseB;
                morseB = "-•••";
                String morseC;
                morseC = "-•-•";
                String morseD;
                morseD = "-••";
                String morseE;
                morseE = "•";
                String morseF;
                morseF = "••-•";
                String morseG;
                morseG = "--•";
                String morseH;
                morseH = "••••";
                String morseI;
                morseI = "••";
                String morseJ;
                morseJ = "•---";
                String morseK;
                morseK = "-•-";
                String morseL;
                morseL = "•-••";
                String morseM;
                morseM = "--";
                String morseN;
                morseN = "-•";
                String morseO;
                morseO = "---";
                String morseP;
                morseP = "•--•";
                String morseQ;
                morseQ = "--•-";
                String morseR;
                morseR = "•-•";
                String morseS;
                morseS = "•••";
                String morseT;
                morseT = "-";
                String morseU;
                morseU = "••-";
                String morseV;
                morseV = "•••-";
                String morseW;
                morseW = "•--";
                String morseX;
                morseX = "-••-";
                String morseY;
                morseY = "-•--";
                String morseZ;
                morseZ = "--••";

                Scanner morseInput = new Scanner(System.in);
                System.out.println("type a letter and it will be converted into morse code!");

                String morseTranslation = morseInput.nextLine();

                if (morseTranslation.length() > 0) {
                    if (morseTranslation.equals("a")) {
                    System.out.println(morseA);
                    }
                    if (morseTranslation.equals("b")) {
                    System.out.println(morseB);
                    }
                    if (morseTranslation.equals("c")) {
                    System.out.println(morseC);
                    }
                    if (morseTranslation.equals("d")) {
                    System.out.println(morseD);
                    }
                    if (morseTranslation.equals("e")) {
                    System.out.println(morseE);
                    }
                    if (morseTranslation.equals("f")) {
                    System.out.println(morseF);
                    }
                    if (morseTranslation.equals("g")) {
                    System.out.println(morseG);
                    }
                    if (morseTranslation.equals("h")) {
                    System.out.println(morseH);
                    }
                    if (morseTranslation.equals("i")) {
                    System.out.println(morseI);
                    }
                    if (morseTranslation.equals("j")) {
                    System.out.println(morseJ);
                    }
                    if (morseTranslation.equals("k")) {
                    System.out.println(morseK);
                    }
                    if (morseTranslation.equals("l")) {
                    System.out.println(morseL);
                    }
                    if (morseTranslation.equals("m")) {
                    System.out.println(morseM);
                    }
                    if (morseTranslation.equals("n")) {
                    System.out.println(morseN);
                    }
                    if (morseTranslation.equals("o")) {
                    System.out.println(morseO);
                    }
                    if (morseTranslation.equals("p")) {
                    System.out.println(morseP);
                    }
                    if (morseTranslation.equals("q")) {
                    System.out.println(morseQ);
                    }
                    if (morseTranslation.equals("r")) {
                    System.out.println(morseR);
                    }
                    if (morseTranslation.equals("s")) {
                    System.out.println(morseS);
                    }
                    if (morseTranslation.equals("t")) {
                    System.out.println(morseT);
                    }
                    if (morseTranslation.equals("u")) {
                    System.out.println(morseU);
                    }
                    if (morseTranslation.equals("v")) {
                    System.out.println(morseV);
                    }
                    if (morseTranslation.equals("w")) {
                    System.out.println(morseW);
                    }
                    if (morseTranslation.equals("x")) {
                    System.out.println(morseX);
                    }
                    if (morseTranslation.equals("y")) {
                    System.out.println(morseY);
                    }
                    if (morseTranslation.equals("z")) {
                    System.out.println(morseZ);
                    }
                    System.out.println(morseTranslation.charAt(0) + " " + morseTranslation.charAt(1));
                }


    }
}
// if statements
// long but might work

// charAt find out how many letters they typed in/inputed
// make something that uses chatAt for each character depending on how many there are,
// and individually translate each letter

最佳答案

请尝试使用此编辑后的代码,它将以莫尔斯电码打印输入的单词

导入java.util.Scanner;

公共类JavaPractice {

public static void main(String[] args) {
    String morseA;
    morseA = "•-";
    String morseB;
    morseB = "-•••";
    String morseC;
    morseC = "-•-•";
    String morseD;
    morseD = "-••";
    String morseE;
    morseE = "•";
    String morseF;
    morseF = "••-•";
    String morseG;
    morseG = "--•";
    String morseH;
    morseH = "••••";
    String morseI;
    morseI = "••";
    String morseJ;
    morseJ = "•---";
    String morseK;
    morseK = "-•-";
    String morseL;
    morseL = "•-••";
    String morseM;
    morseM = "--";
    String morseN;
    morseN = "-•";
    String morseO;
    morseO = "---";
    String morseP;
    morseP = "•--•";
    String morseQ;
    morseQ = "--•-";
    String morseR;
    morseR = "•-•";
    String morseS;
    morseS = "•••";
    String morseT;
    morseT = "-";
    String morseU;
    morseU = "••-";
    String morseV;
    morseV = "•••-";
    String morseW;
    morseW = "•--";
    String morseX;
    morseX = "-••-";
    String morseY;
    morseY = "-•--";
    String morseZ;
    morseZ = "--••";

    Scanner morseInput = new Scanner(System.in);
    System.out.println("type a letter and it will be converted into morse code!");

    String morseTranslation = morseInput.nextLine();

    if (morseTranslation.length() > 0) {
        for (int i = 0; i < morseTranslation.length(); i++) {
            String character = ""+morseTranslation.charAt(i);
            if (character.contains("a")) {
                System.out.println(morseA);
            }
            if (character.contains("b")) {
                System.out.println(morseB);
            }
            if (character.contains("c")) {
                System.out.println(morseC);
            }
            if (character.contains("d")) {
                System.out.println(morseD);
            }
            if (character.contains("e")) {
                System.out.println(morseE);
            }
            if (character.contains("f")) {
                System.out.println(morseF);
            }
            if (character.contains("g")) {
                System.out.println(morseG);
            }
            if (character.contains("h")) {
                System.out.println(morseH);
            }
            if (character.contains("i")) {
                System.out.println(morseI);
            }
            if (character.contains("j")) {
                System.out.println(morseJ);
            }
            if (character.contains("k")) {
                System.out.println(morseK);
            }
            if (character.contains("l")) {
                System.out.println(morseL);
            }
            if (character.contains("m")) {
                System.out.println(morseM);
            }
            if (character.contains("n")) {
                System.out.println(morseN);
            }
            if (character.contains("o")) {
                System.out.println(morseO);
            }
            if (character.contains("p")) {
                System.out.println(morseP);
            }
            if (character.contains("q")) {
                System.out.println(morseQ);
            }
            if (character.contains("r")) {
                System.out.println(morseR);
            }
            if (character.contains("s")) {
                System.out.println(morseS);
            }
            if (character.contains("t")) {
                System.out.println(morseT);
            }
            if (character.contains("u")) {
                System.out.println(morseU);
            }
            if (character.contains("v")) {
                System.out.println(morseV);
            }
            if (character.contains("w")) {
                System.out.println(morseW);
            }
            if (character.contains("x")) {
                System.out.println(morseX);
            }
            if (character.contains("y")) {
                System.out.println(morseY);
            }
            if (character.contains("z")) {
                System.out.println(morseZ);
            }
        }
        System.out.println(morseTranslation.charAt(0) + " " + morseTranslation.charAt(1));
    }

}


}

关于java - 将用户输入转换为字符串,遇到多个字母的麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57735129/

10-11 04:09
查看更多