2015-03-19 105 views

回答

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 + "*"; 
} 

这将打印输出,

* 
** 
*** 
+0

我的输出是: 阵列[I] + X 阵列[I] + X 阵列[I] + X – 2015-03-19 07:10:11

+0

@SimonKatimba肯定的,因为我把数组[I] + X在'”“'误。检查我编辑的答案,它应该打印输出,如我所说 – Apurva 2015-03-19 07:12:57

+0

非常感谢你。它的工作原理 – 2015-03-19 07:22:03

1

你的数组是一个char数组,所以每个元素都包含一个char。因此,你的输出将是:

* 
* 
* 

为了得到你想要的输出,你需要一个String数组(或没有数组在所有 - 你可以使用一个嵌套循环代替)。

此外,x = x+2;不会做你认为它做的事。它为x分配了一个新字符。如果x的初始值为'*',则它将将其更改为数字值高于2的字符,与'*'的数字值相比较。

+0

替代我很想能够在使用数组做。可能吗? – 2015-03-19 07:00:50

+1

@SimonKatimba更改'char array [] = new char [3];'to'String [] array = new String [3];'并将所需值分配给该数组。 – Eran 2015-03-19 07:02:33

0

对于您需要更改数组为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]; 
    } 

,你也有这么多的编译错误,在你的代码一样ForArraysystem

还要检查DEMO

+0

谢谢。代码起作用。 – 2015-03-19 07:22:47

+0

@SimonKatimba我的荣幸 – silentprogrammer 2015-03-19 07:24:24

0

考虑到你了就把它可以从以下

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

输出导出将 * **



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"); 
} 

注意:这仅仅是对已经提出的解决方案

相关问题