0

我正在使用一个for循环以大写字母打印向后的字母,但我想知道如何用while循环做同样的事情,我不太擅长。

String alphabet = "abcdefghijklmnopqstuvwxyz";      
int x = 0;

for(x = alphabet.length() - 1; x > -1; x--) {
  System.out.print(alphabet.charAt(x));
  System.out.print(alphabet.toUpperCase());                 
}

我还需要在它到达 A 时终止它。认为它是这样的,但我不知道如何让它向后循环。我真的很感谢你的帮助!

while(alphabet.length() < 26) {
  System.out.print(alphabet.charAt(x));  
  System.out.print(alphabet.toUpperCase());     
  if(x == A) {
    break;
  }     
}
4

4 回答 4

4
for (initialization; condition; increment) {

}

等同于:

{
    initialization;
    while(condition) {
       // body
       increment;
    }
}

外部块block为初始化参数创建了一个范围,我们也进入了一个 for 循环。但是,如果你for-loop在循环之外声明你的变量,那么你可以省略那个外部块。

现在您可以将 for 循环映射到 while 循环。

于 2012-10-27T16:51:47.930 回答
2

在 Java 中有一种更简单的方法来反转字符串。

public class StringReversalExample {
    public static void main(String[] args) {
      String alphabet = "abcdefghijklmnopqstuvwxyz";
      String reversedString = new StringBuilder(alphabet).reverse().toString();
      System.out.println(reversedString);
    }
}
于 2012-10-27T16:58:39.710 回答
2

尝试这个:

public static void main(String[] args) {
  char[] alphabet =  "abcdefghijklmnopqstuvwxyz".toCharArray();
  int index = alphabet.length - 1;

  while (index >= 0) {
    System.out.println(alphabet[index--]);
  }
}

这是一种内存开销最小的最有效的解决方案。

于 2012-10-27T16:51:48.773 回答
0
x = alphabet.length() - 1;
while( x > -1 )
    {
        System.out.print(  alphabet.charAt( x ));  
        System.out.print( alphabet.toUpperCase() );
        x--;
    }
于 2012-10-27T16:51:48.353 回答