2016-06-26 5 views
2

2 for forループを使用してスラッシュを印刷するコードを記述しました。 forループを1つだけ使用して同じものを印刷するにはどうすればよいですか?ここ単一ループを使用したパターン印刷

public static void main(String[] args) 
{ 
int i,j;char[][] ch=new char[100][100]; 
for(i=0;i<4;i++) 
{ 
    for(j=0;j<4;j++) 

    { 
     if(i==j) 
      ch[i][j]='*'; 
     else 
      ch[i][j]=' '; 
     System.out.print(ch[i][j]); 

    } 
    System.out.println(' '); 
} 
+1

はあなたが望む結果が何であるかを示していることはできますか? – STF

+0

/、\ ,?のような特殊文字を印刷したい星のパターン –

+0

はい - この結果を得るために別の方法を見つけたい場合は、結果を – STF

答えて

2

は一つの方法である:

import java.util.Arrays; 
public class App { 
    public static void main(String[] args) { 
    char[] line = new char[100]; 
    for (int i = 0; i < 4; i++) { 
     Arrays.fill(line, ' '); 
     line[i] = '*'; 
     System.out.println(line); 
    } 
    } 
} 

アイデアは、明示的なループの1つを回避するために(この場合、fill)アレイベースの動作を使用することです。

2

まだ遅く:携帯電話を経由して編集

For(int i = 0; i < width*height; i++) { 
    Int x = i%height 
    Int y = (i-x)/height 
    // Code using ch[x][y] 
} 

:)

+0

@AnanthaRaman - この1ループメソッドが機能する – user31415

関連する問題