1
public class MorseCodeTranslator {

public static void main(String[] args) {
    String [] letter = {"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 [] morse = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----.", "-----"};
    System.out.println("Enter in some words or letter to convert them to morse code : ");

    Scanner keyboard = new Scanner(System.in);
    String english = keyboard.nextLine();

    System.out.println(english.toLowerCase());



    for(int i = 0; i < english.length(); i++){
        char test = english.charAt(i);
        for (int j = 0; j < letter.length(); j++){
            if(letter.charAt(j) == test){
                System.out.print(morse[j]);
              }
          }
      }










    /*** SAMPLE INPUT/OUTPUT
     * 
     * Please enter some text: Hello World
     * Morse Code: .... . .-.. .-.. --- .-- --- .-. .-.. -..
     */

}

我需要将用户输入的英文字母转换成摩尔斯电码。我希望它获取 letter[] 的长度并将其与 morse[] 的索引进行比较,然后打印出对应的摩尔斯电码。但我在“letter.length();”处得到一个错误 说“找不到符号方法长度()”。它适用于“english.length();” 是。有没有另一种方法可以用数组来做到这一点?

4

1 回答 1

6

在数组上,length是一个属性,所以你只需说letter.length. 在 a 上String,它是一种方法,所以你说english.length()

于 2015-11-14T20:50:06.787 回答