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

これを試して:

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 に答える
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 に答える
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 に答える