使用for循环创建模式输出以及如何更改公式以更改模式

时间:2014-09-06 11:14:09

标签: for-loop

我必须弄清楚如何更改代码,以便我的列或行中的输出发生变化。我已经完成了以下操作,一个应该打印5行5行星号,第三行打印加号。这几乎是正确的,但有些事情正在使加号发生在第4行而不是第3行。我的讲师在课堂上讲了一些与抓住价值时有关的事情,但我记不清楚是什么,这是周末所以我不能问他。

我已经阅读了几个问题,这给了我一个跳跃点,但我仍然不清楚以下事项;

你能告诉我第三行和第四行出错的地方与我想要的方式相反,并向我提供有关如何更改特定行或列中的内容的任何指示吗?

谢谢,这是我的代码;

public class OutputB
{
    public static void main(String[] args)
    {
        int rows = 5; // tells the program how many rows
        int cols = 5; // tells the program how many columns

        for (int r = 0; r < rows; r++)
            {
                for (int c = 0; c < cols; c++)

                if(r != 3)
                { 
                    System.out.print("*");
                }
                else 
                { 
                    System.out.print("+");
                }
            System.out.println();

1 个答案:

答案 0 :(得分:0)

你从零开始,这意味着第三个增量实际上是第四个增量。您有两种方法可以解决此问题。您可以从所需的行号中减去1 ......

int rows = 5; // tells the program how many rows
int cols = 5; // tells the program how many columns
int rowOfThePlusSymbol = 3;
...
    if(r != rowOfThePlusSymbol-1)

...或者你可以从你的for循环中的1开始。如果你这样做,一定要将&lt; =放在for循环中,这样你就可以循环所需的次数。

...
for (int r = 1; r <= rows; r++)
{
    for (int c = 1; c <= cols; c++)
    ...
}

我不鼓励使用后一种解决方案,因为通常的做法是在使用增量或列表索引时从零开始。