使用单循环进行图案打印

时间:2016-06-26 05:15:36

标签: java loops

我已经编写了使用2 for循环打印斜杠的代码。如何仅使用一个for循环打印相同的内容?

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(' ');
}

2 个答案:

答案 0 :(得分: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);
    }
  }
}

我们的想法是使用基于数组的操作(在本例中为fill)来避免其中一个显式循环。

答案 1 :(得分:2)

还是慢一点:

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

通过电话编辑:)