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 回答
1

由于您没有发布整个代码,因此尚不清楚您要实现的目标。但这可能会有所帮助

public class StackOverflow {

public StackOverflow(){

}
public static void main( String[] args ){

    for( int x = 0, len = ((String)args[0]).length(); x < len; x++ )
            {
                char letter = args[0].charAt(x);

                switch (letter) 
                    {
                        case 'a': System.out.println("Z"); break;  //1

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

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

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

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

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

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

                    }
                }
   }
 }
于 2014-02-15T15:27:42.587 回答
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 回答