1

入力された文字列 (具体的には args[x] から) の各文字を置き換えるプログラムで問題が発生しています。

文字列の最初の文字を取得できますが、次の文字に移動する方法がわかりません。以下の「ctr ++」を試しましたが、文字列の最初の文字のみをループします。

結果は次のとおりです:
文字列: aei復号化
: ZZZ

私が必要としているのは:
文字列: aei復号化
: ZYX

ここに私のコードの一部があります:

for( int a = 0; a < len; a++ )
                {
                    args[x].charAt(ctr);
                    switch (letter) 
                        {
                            case 'a': System.out.print("Z"); break;  //1

                            case 'e': System.out.print("Y"); break;  //2

                            case 'i': System.out.print("X"); break;     //3

                            case 'o': System.out.print("W"); break;  //4

                            case 'u': System.out.print("V"); break;  //5 

                            case 'A': System.out.print("z"); break;     //6

                            case 'E': System.out.print("y"); break;     //7

                            .
                            .
                            .
                            .
                        }
                        ctr++;
                    }

誰かが助けてくれれば幸いです。

4

3 に答える 3

2

問題は、 の値を決して変更しないことですletter。に置き換える必要がありargs[x].charAt(ctr)ますletter = args[x].charAt(ctr)

于 2014-02-15T15:08:36.427 に答える
0
String str = "aei";
        for( int a = 0; a < str.length(); a++ )
        {
            char letter = str.charAt(a);
            switch (letter) 
                {
                    case 'a': System.out.print("Z"); break;  //1

                    case 'e': System.out.print("Y"); break;  //2

                    case 'i': System.out.print("X"); break;     //3

                    case 'o': System.out.print("W"); break;  //4

                    case 'u': System.out.print("V"); break;  //5 

                    case 'A': System.out.print("z"); break;     //6

                    case 'E': System.out.print("y"); break;     //7

                }
            }

これを試して。幸運を

于 2014-02-15T15:15:46.927 に答える