通过每行减少一个字符串,减少嵌套for循环中的Alphabet

时间:2013-10-21 01:39:58

标签: java for-loop

作为一个初学者,我给出了一个循环赋值,其中一个循环是输出字母表,首先是a-z,然后是b-z,然后是c-z,依此类推,每个都在各行上。

我按

打印了字母
for(char c = 'a'; c <= 'z'; c++)

然后一个print语句产生整个字母表,但我不知道如何巧妙地实现另一个for循环来减少起始字符并在单独的行上打印新的字符串。

4 个答案:

答案 0 :(得分:0)

试试这个,

char input = 'a';
    while (input != 'z') // this will continue upto z == z
    {
        for (char c = input; c <= 'z'; c++) // get the input value and iterate upto z
        {
            System.out.print(c + " "); // print the values
        }
        System.out.println(""); // for next line
        input++; // this for next char like b,c,d....z
    }

答案 1 :(得分:0)

for(char j = 0; j < 26; j++) {
    for(char c = (char)('a' + j); c <= 'z'; c++) {
        System.out.print(c);
    }
    System.out.println("");
}

答案 2 :(得分:0)

这里是适用于您的目的的示例代码:

for(char outer='a'; outer <= 'z'; outer ++)
    {
    for(char inner = outer; inner <= 'z'; inner++)
       {
       System.out.print(""+inner); //print the character
       }
    System.out.println(""); // next line
    }

基本上,你必须在第一个for循环中循环使用字母表,然后将外部for循环的当前值作为内部for循环的起始值。 只是一个注意事项:尝试习惯于给你的变量名称一些意义 - 它确实有帮助!

答案 3 :(得分:0)

你可以在最后添加一个if语句,当它的总迭代次数小于3时,它会返回'b'。然后,这个问题看起来像是一个赋值。