我是Java初学者。我的代码是转换从键盘输入的莫尔斯电码,并输出为有意义的字符。这只是3个字母的“ A”,“ B”,“ C”测试,但是运行时出现错误。 请帮帮我 !
import java.util.*;
import java.io.*;
public class Main {
public static void main (String[] args) {
String [][] Morse = new String[60][2];
Morse[0][0] = "A" ; Morse[0][1] = ".-" ;
Morse[1][0] = "B" ; Morse[1][1] = "-...";
Morse[2][0] = "C" ; Morse[2][1] = "-.-.";
Scanner ip = new Scanner(System.in);
String s = ip.nextLine();
String [] op = s.split(" ");
for (int i = 0 ; i < 60 ; i++)
if ( op[i] == Morse[i][1] ) System.out.print(" "+Morse[i][0]);
}
}
答案 0 :(得分:0)
您可以使用称为HashMap的数据结构,检查以下代码
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Sol {
public static void main(String[] args) {
Map<String, String> morseToText = new HashMap<>();
morseToText.put(".-", "A");
morseToText.put("-...", "B");
morseToText.put("-.-.", "C");
Scanner ip = new Scanner(System.in);
String s = ip.nextLine();
String[] op = s.split(" ");
for (String s1 : op) {
System.out.print(morseToText.get(s1));
}
}
}