-1

作为初学者,我被分配了一个循环任务,其中一个循环是输出字母表,首先从 az,然后是 bz,然后是 cz,依此类推,每个循环都在单独的行上。

我已经打印了字母表

for(char c = 'a'; c <= 'z'; c++)

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

4

4 回答 4

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
    }
于 2013-10-21T01:54:03.667 回答
0
for(char j = 0; j < 26; j++) {
    for(char c = (char)('a' + j); c <= 'z'; c++) {
        System.out.print(c);
    }
    System.out.println("");
}
于 2013-10-21T01:58:31.837 回答
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 循环的起始值。只是一个说明:试着习惯给你的变量名一些意义——它确实有帮助!

于 2013-10-21T02:04:20.280 回答
0

您可以在末尾添加一个 if 语句,当它的总迭代次数小于 3 时将其返回到“b”。再说一次,这个问题看起来像一个赋值。

于 2013-10-21T02:10:29.963 回答