Java 莫尔斯到英语/英语到莫尔斯转换器

Java 莫尔斯到英语/英语到莫尔斯转换器,java,arrays,string,replace,morse-code,Java,Arrays,String,Replace,Morse Code,嗨,我正在尝试制作一个java程序,将英语翻译成摩尔斯语,反之亦然。 基本上我很难让所有东西都兼容。。以及如何使用replaceall方法将所有输入的varaiuble替换为Morse索引对应的varaiuble。我不想走这么多捷径。我真的很努力,想把这件事做完。非常感谢你 import java.util.Scanner; public class ProjMorse { public static void main( String [] args

嗨,我正在尝试制作一个java程序,将英语翻译成摩尔斯语,反之亦然。 基本上我很难让所有东西都兼容。。以及如何使用replaceall方法将所有输入的varaiuble替换为Morse索引对应的varaiuble。我不想走这么多捷径。我真的很努力,想把这件事做完。非常感谢你

    import java.util.Scanner;

       public class ProjMorse
     {
    public static void main( String [] args )
    {
       Scanner input = new Scanner(System.in);
      String [] alpha =  {"a",b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0"," "};
    String [] dottie = {".-", "-...", "-.-.", "-..", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----.", "-----", "|"};
    System.out.println("To convert from English to Morse enter English");
String ans = input.nextLine();
    if(ans.equals("English"))
    {
  System.out.println( "Please enter the text you would like to convert to Morse Code: ");
      String English = input.nextLine();
  char[] translates = (English.toLowerCase()).toCharArray();

  for (int i = 0; i < alpha.length; i++)
  {
        String s  = translates[i].replaceAll('i', (dottie[i]));
  }
  String s = new String(dottie[i]);
      System.out.println(s);
    }
    else
    {
  System.out.println( "Please enter the text you would like to convert to English (separate words with '|'):");
  String code = input.nextLine();
  String[] translates = code.split("[|]", 0);

  for (int j = 0; j < dottie.length; j++)
  {
    alpha[j] = String.valueOf(translates[j]);
  }
  String s = new String(alpha[j]);
  System.out.println(s);
}
    }
  }
import java.util.Scanner;
公共类代理
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
字符串[]alpha={“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”、“o”、“p”、“q”、“r”、“s”、“t”、“u”、“v”、“w”、“x”、“y”、“z”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“0”、“0”);
“,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,“----”,“|”};
System.out.println(“将英语转换为莫尔斯输入英语”);
字符串ans=input.nextLine();
if(ans.equals(“英语”))
{
System.out.println(“请输入要转换为摩尔斯电码的文本:”);
字符串English=input.nextLine();
char[]翻译=(English.toLowerCase()).toCharArray();
for(int i=0;i
另外…

首先,如果你要问一个问题,它应该包含一个带问号的问题。这样我们就知道我们在回答什么。如果你有一个错误,你需要包括那是什么错误。你还需要更好地格式化你的代码,这真的很难读懂

现在,请注意您的代码,不要尝试在一个方法中完成所有操作,这很难看,很难阅读和调试。方法应该做一件事(而不是像获取用户输入、翻译和输出这样的多件事)这样做的原因是,如果你能在一个屏幕上阅读全部内容,你就能更好更快地理解方法的目的

此外,变量应以小写字母开头,因此这可能会造成混淆:-

String English = input.nextLine();

1) 对代码块使用一致且符合逻辑的缩进。代码缩进旨在帮助人们理解程序流程。2)请不要忘记在问题中添加“?”!有些人在页面中搜索“?”,如果“问题”中不存在,则直接转到下一个(实际)行中的问题。3)没有必要在标题中添加主标记。用一种方法做所有事情总是一个坏主意。方法应该只做一件事,并且做得很好。一般来说,你应该尽量将它们保持在30行以下(少于一个满屏)为什么你要尝试用一种方法来做这件事,除非它是家庭作业?你的问题是什么???发生了什么,你期望发生什么?问题是什么?是的,我知道它不起作用..我该如何解决它?好的,我能对morse做同样的事吗?用字符串c:dottie?是的,应该起作用谢谢(:我会试试。方法replace all无法应用于给定类型、不兼容类型等
 int characterIndex = 0;
 for (char c : alpha)
 {
   plaintextString.replaceAll(c, dottie[characterIndex]);
   characterIndex++;
 }
String English = input.nextLine();