用单个for循环编写嵌套循环(通用) - java

时间:2010-10-25 21:32:33

标签: java

我的宿舍楼里没有人知道如何在我们的CS作业中提出这个问题。它说:

嵌套循环

for(int i = 1; i <= height; i++)
{
   for(int j = 1; j <= width; j++)
   {
      System.out.print("*");
   }
   System.out.println();
}

显示给定宽度和高度的矩形,例如

 ****
 ****
 ****

宽度为4,高度为3.写一个for循环     显示相同的矩形。请记住,只有3和4     例如,您的代码必须是通用的,并且适用于任何宽度     和身高。

我们尝试了很多东西,但每一个都以失败告终。我们错过了一些明显的东西吗?

6 个答案:

答案 0 :(得分:15)

你应该看一下迭代你需要显示的个星号数,并在迭代时显示一个星号/换行符(想想有多少星号构成一行 - 我但是,不想给你答案!)

答案 1 :(得分:0)

您可以在循环中使用多个条件

答案 2 :(得分:0)

int w = 0;
for(int i = 0; i < height * width; i++)
{
   System.out.print("*");
   if( ++w >= width ) {
      w = 0;
      System.out.println();
   }
}

答案 3 :(得分:0)

在我写的custom template language中,这是解决方案:

{set|($height)(3) ($width)(4)}

{for|i|1 : $i <= ($height*$width) : $i++|
   *
   {if| !(($i) % $width)|
      <br/>
   }
}

我不想用Java给你答案,但这是一个简单的问题,给你建议IS解决它,所以这是我能想到的最好的。

答案 4 :(得分:0)

    int width = 9 ;
    int height = 3;
    for (int row = 1, column = 1 ; row <= height && column <= width; column++) {
        System.out.print("*");
        if(column == width) {
            column = 0;
            System.out.println();
            row ++;
        }
    }

答案 5 :(得分:0)

for (int row = 0, column = 0; (row < height && column < width); column++)
{
  System.out.print("*");
  if (column == (width - 1))
  {
    column = -1;
    row++;
    System.out.println();
    continue;
  }
}

希望这有帮助。

此致