对于循环,通过字母表迭代?爪哇岛

2022-09-03 17:34:40

我可以遍历字母表,但我试图保留最后一个迭代并添加下一个字母。这是我的代码。

for(char alphabet = 'a'; alphabet <='z'; alphabet ++ )
        {

            System.out.println(alphabet);
        }

我希望它能打印出看起来像这样的东西。

一个

血型

abc

断续器

abcde.....等等。这怎么可能?


答案 1

您需要将 添加到字符串中。char alphabet

String output = "";

for(char alphabet = 'a'; alphabet <='z'; alphabet++ )
    {
        output += alphabet;
        System.out.println(output);
    }

这应该适用于您;)


答案 2

我将使用StringBufferStringBuilder。像这样:

StringBuffer

StringBuffer sb = new StringBuffer();
for (char alphabet = 'a'; alphabet <= 'z'; alphabet++) {
    sb.append(alphabet);
    System.out.println(sb.toString());
}

StringBuilder

StringBuilder sb = new StringBuilder();
for (char alphabet = 'a'; alphabet <= 'z'; alphabet++) {
    sb.append(alphabet);
    System.out.println(sb.toString());
}

String vs StringBuffer vs StringBuilder

字符串:它是不可变的,因此当您在字符串中进行任何修改时,它将创建新实例并且会过快地消耗内存。

StringBuffer:您可以使用它来创建动态字符串,同时只有1个对象将在那里,因此使用的内存非常少。它是同步的(这使得它变慢)。

StringBuilder:它类似于StringBuffer。olny的区别在于:它不同步,因此更快。

所以,更好的选择是StringBuilder阅读更多

Java 8

StringBuilder sb = new StringBuilder();

IntStream.range('a', 'z').forEach(i -> {
    sb.append((char) i);
    System.out.println(sb.toString());
});

推荐