我的输出应该如下:
1星(*)
3星(***)
4星(****)
例如我有代码:
char array[] = new char[3];
char x = '*';
For (int i= 0; i < array.length; i++)
{
array[i]='*'
x = x+2;
system.out.println(array[i]);
}
答案 0 :(得分:1)
您的数组是一个char数组,因此每个元素都包含一个char。因此,您的输出将是:
*
*
*
要获得所需的输出,您需要一个String数组(或者根本不需要数组 - 您可以使用嵌套循环)。
此外,x = x+2;
并不能按照您的想法行事。它为x
分配了一个新角色。如果x
的初始值为'*'
,则会将其更改为数字值比'*'
的数值高2的字符。
答案 1 :(得分:1)
在char[]
数组中不可能,你应该这样做,
String array[] = new String[3];
String x = "*";
for (int i= 0; i < array.length; i++)
{
array[i] = "";
array[i] = array[i] + x;
system.out.println(array[i]);
x = x + "*";
}
这会将输出打印为,
*
**
***
答案 2 :(得分:1)
只是提供已有答案的替代方法,也可以使用char
。然后,诀窍是使用System.out.print()
而不是System.out.println()
。一个例子:
int n = 3; //the number of lines you want to print
char x = '*';
for(int i = 0; i < n; i++) {
for(int j = 0; j <= i; j++) {
System.out.print(x);
}
System.out.print("\n");
}
注意:这只是已经提出的解决方案的替代方案
答案 3 :(得分:0)
为此你需要在每个级别将数组更改为String类型并在其上连接*
。
代码
String array[] = new String[3];
char x = '*';
array[0]=""+x;
for (int i= 0; i < array.length; i++)
{
System.out.println(array[i]);
if(i!=array.length-1)
array[i+1]='*'+array[i];
}
您的代码中也有很多编译错误,例如For
,Array
,system
。
同时检查DEMO
答案 4 :(得分:0)
考虑到你的输出,它可以从以下
派生String s="*";
StringBuffer sb =new StringBuffer();
for(int i=1;i<=4;i++)
{
System.out.println(sb.append(s));
}
输出将是 * **
锝