是否可以在Java中增加字符串或字符?

时间:2015-03-19 06:52:23

标签: java arrays string

我的输出应该如下:
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]);
    }

5 个答案:

答案 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];
     }

您的代码中也有很多编译错误,例如ForArraysystem

同时检查DEMO

答案 4 :(得分:0)

考虑到你的输出,它可以从以下

派生
String s="*";
StringBuffer sb =new StringBuffer();
for(int i=1;i<=4;i++)
{
System.out.println(sb.append(s));
}

输出将是 * **