I am using a for
loop to print the backwards alphabet in uppercase but I would like to know how to do the same thing with a while
loop, which I am
There is a much simpler way to reverse a string in Java.
public class StringReversalExample {
public static void main(String[] args) {
String alphabet = "abcdefghijklmnopqstuvwxyz";
String reversedString = new StringBuilder(alphabet).reverse().toString();
System.out.println(reversedString);
}
}
Try this:
public static void main(String[] args) {
char[] alphabet = "abcdefghijklmnopqstuvwxyz".toCharArray();
int index = alphabet.length - 1;
while (index >= 0) {
System.out.println(alphabet[index--]);
}
}
This is a most efficient solution with minimal memory overhead.
for (initialization; condition; increment) {
}
is same as:
{
initialization;
while(condition) {
// body
increment;
}
}
The outer block creates a block
scope for the initialized parameter, that we get in a for loop also. But, if you are declaring your for-loop
variable outside the loop, then you can omit that outer block.
Now you can map your for loop to the while loop.
x = alphabet.length() - 1;
while( x > -1 )
{
System.out.print( alphabet.charAt( x ));
System.out.print( alphabet.toUpperCase() );
x--;
}