for循环到while循环

时间:2012-10-27 16:49:10

标签: java loops

我正在使用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 个答案:

答案 0 :(得分:4)

for (initialization; condition; increment) {

}

与:

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

外部块为初始化参数创建block范围,我们也在for循环中获得。但是,如果您在循环外声明for-loop变量,则可以省略该外部块。

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

答案 1 :(得分:2)

试试这个:

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

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

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

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

答案 3 :(得分:0)

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