在 Java 上处理菱形内的数字

Manipulate number inside diamond shape on Java

我想要的结果图片 :

我想打印出 link 图片中的菱形。用户首先只需要输入 0,1 和 2。如果用户输入 0,结果将在图片的左边。如果用户输入1,结果将与中间的结果相同,如果用户输入2,结果与右边的结果相同。

据我了解,我需要先完成钻石的一半。将有外循环来确定行。创建空格的第一个内部循环。其次,用户输入数字的内循环。最后做另外一半的菱形,让它变小就好了。

问题是我不明白如何像图片中的结果那样操作数字。

谁能给我一些提示我该怎么做。我不要代码。也许,只是对我首先应该知道的做一些解释

提示:可以使用 2 个 for 循环来完成:一个用于行号(0 到 8,包括在内),一个用于列号(也包括 0 到 8,包括在内)。

开始创建如下模式:

432101234
432101234
...

扩展到 9 行(我只是不想让它太大)。基本上,一些计算只使用 4 - col 中的列号(不完整,缺少对负面结果的处理 - 有意留给 reader 去做)。

然后考虑使用行号和列号来消除第一个角的条件(类似于 col < 4-row)。在这种情况下打印 space 而不是数字:

    01234
   101234
  2101234
 32101234
432101234
432101234
432101234
432101234
432101234

对其他三个角做类似的操作。

最后,将每个数字乘以输入值(0、1 或 2)。


“我首先应该知道什么”

  • for 循环
  • if 语句或条件运算符 (? :)
  • 比较数字和一些数学 (col < 4 - row)
  • 输出System.out.println()System.out.print())
  • 用户输入使用 main 参数或读取标准输入(取决于应如何完成)