我想逐个打印我的名字

时间:2015-03-06 07:05:15

标签: java

我想逐个打印我的姓名字样:

结果:

A
Af
Afs
afsh
afsha
afshan
.....

我已尝试过这种编码,但它是一个简单的循环,它显示了我的完整名称。

char[]aar={'a','f','s','h','a','n'};

for(int b=0; b<1;b++){
    String str=new String(aar);
    System.out.println(""+str);
}

4 个答案:

答案 0 :(得分:2)

很简单。您可以使用String类的substring方法。

    String name="yourname";
    for(int i=0;i<name.length();i++)
    {
        System.out.println(name.substring(0,i+1));
    }

答案 1 :(得分:1)

听起来你想在每一步上打印你名字的子串。所以从完整的名称开始:

String name = "Afshan";

然后循环使用尽可能多的字母(使用String.length()进行检查),然后从开头打印子字符串到该迭代编号 - 使用name.substring(0, i + 1)获取相关的子字符串{{ 1}}是循环中的变量。请仔细阅读documentation for substring,了解每个参数的含义(以及您希望i而不是i + 1的原因)。

在循环体中使用i很重要,否则你在每次迭代时打印相同的东西。

我不会在这里提供完整的代码,因为您正在尝试学习(yay)但是另外,尽量避免使用i - 在您现有的代码中,无论如何都不需要它,因为"" + ...已经是一个字符串,但如果您需要将其他类型转换为字符串,请改用str。这恰好说明了你想要做什么,而用空字符串连接却没有。

答案 2 :(得分:1)

这是使用嵌套for循环的另一种方法

    char[]aar={'a','f','s','h','a','n'};
    //count just from 1 to the length of array
    for(int a = 1; a<aar.length; a++)
    {
        //print elements from 0-1, 0-2 ,0-3, and so on.
        for(int b=0; b<a;b++)
        {
            System.out.print(aar[b]);
        }
        System.out.println();
    }

答案 3 :(得分:0)

这是另一个版本。 请使用有意义的名称和正确的缩进。 请注意,外部for循环需要等于。否则它不起作用。

char[] chars = {'a', 'f', 's', 'h', 'a', 'n'};


for (int length = 1; length <= chars.length; length++) {
    for(int i = 0; i < length; i++) {
        System.out.print(chars[i]);
    }
    System.out.println();
}