我想逐个打印我的姓名字样:
结果:
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);
}
答案 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();
}