我的输出应该是这样的:
1星号(*)
3星级(***)
4星级(****)是否可以增加Java中的字符串或字符?
,比如我有代码:
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]);
}
我的输出应该是这样的:
1星号(*)
3星级(***)
4星级(****)是否可以增加Java中的字符串或字符?
,比如我有代码:
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]);
}
不,这不可能在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 + "*";
}
这将打印输出,
*
**
***
你的数组是一个char数组,所以每个元素都包含一个char。因此,你的输出将是:
*
*
*
为了得到你想要的输出,你需要一个String数组(或没有数组在所有 - 你可以使用一个嵌套循环代替)。
此外,x = x+2;
不会做你认为它做的事。它为x
分配了一个新字符。如果x
的初始值为'*'
,则它将将其更改为数字值高于2的字符,与'*'
的数字值相比较。
替代我很想能够在使用数组做。可能吗? – 2015-03-19 07:00:50
@SimonKatimba更改'char array [] = new char [3];'to'String [] array = new String [3];'并将所需值分配给该数组。 – Eran 2015-03-19 07:02:33
对于您需要更改数组为String类型, concat *
在它的每个级别。 代码
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
谢谢。代码起作用。 – 2015-03-19 07:22:47
@SimonKatimba我的荣幸 – silentprogrammer 2015-03-19 07:24:24
考虑到你了就把它可以从以下
String s="*";
StringBuffer sb =new StringBuffer();
for(int i=1;i<=4;i++)
{
System.out.println(sb.append(s));
}
输出导出将 * **
锝
只需提供已有答案的替代方案,也可以仅与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");
}
注意:这仅仅是对已经提出的解决方案
我的输出是: 阵列[I] + X 阵列[I] + X 阵列[I] + X – 2015-03-19 07:10:11
@SimonKatimba肯定的,因为我把数组[I] + X在'”“'误。检查我编辑的答案,它应该打印输出,如我所说 – Apurva 2015-03-19 07:12:57
非常感谢你。它的工作原理 – 2015-03-19 07:22:03