转到下一个charAt()

时间:2014-02-15 15:02:53

标签: java string args charat

我的程序中存在一个问题,它将替换输入的字符串中的每个字符(特别是来自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++;
                    }

如果有人能提供帮助,我们将不胜感激。

3 个答案:

答案 0 :(得分:2)

嗯,问题是你永远不会改变letter的值。您需要将args[x].charAt(ctr)替换为letter = args[x].charAt(ctr)

答案 1 :(得分: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

                    }
                }
   }
 }

答案 2 :(得分: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

                }
            }

试试这个。祝你好运