1

モールス符号で書かれたものを読み込んで英語に翻訳するプログラムを作成しています。最初にすべてのデータ セットの最初の数字を読み込み、2 番目の数字は最初のデータ セットのデータ量を表します。次に、モールス符号である文字列を読み取ります。このプログラムに Switch ステートメントを使用することにしましたが、コンパイルするたびに、switch(morse) の「互換性のない型」と表示されます。参考までに、これは私のコードとは別に..

<pre>
import java.io.*;
import java.util.*;
import static java.lang.System.*;

public class G{

    public static void main(String[] args)throws IOException
        {
            Scanner scan = new Scanner(new File("G.txt"));
            int times = scan.nextInt();
            times=scan.nextInt();
            for(int i=0; i<times; i++){

                 String morse = scan.nextLine();
                 switch(morse){
                    case ".- ":
                        System.out.print( "a");
                        break;
                    case "-… ":
                        System.out.print( "b");
                        break;
                    case "-.-. ":
                        System.out.print( "c");
                        break;
        }
    }
}
<code>

これは私の入力ファイルです (各行間のスペースは無視してください) 2

4

-...

..-

-...

.

4

-...

.

.-..

.--.

4

2 に答える 2

2

文字列の切り替えは Java 7 で追加されました。Java 6 以前を使用している場合は、ビルドパス設定を Java 7 に更新するか、コンパイラ、JDK、および JRE をアップグレードする必要があります。

于 2013-10-20T00:42:18.587 に答える
0

醜いが可能な解決策は、次のように各文字に基づいて切り替えることです

switch(morse[0]) {  
case '.':  
    switch(morse[1]) {  
        case '-':  
        switch(morse[2]) {  
            case '.':  
                system.out.print("x");  
                break;  
            case '-':  
                system.out.print("y");  
                break;  
        }  
    }  
}
于 2013-10-20T00:49:03.300 に答える