【问题标题】:Create triangle with "1" " 0" by for loop [closed]通过for循环创建带有“1”“0”的三角形[关闭]
【发布时间】:2014-03-25 05:20:46
【问题描述】:

如何用 Java 编写程序来制作下面的三角形?

1
0 1
1 0 1
0 1 0 1
1 0 1 0 1

【问题讨论】:

  • 尝试识别模式并向我们展示一些示例代码,以证明您已经为此付出了一些努力。
  • 回答者:请不要通过回答来鼓励这种家庭作业转储。 OP:请尝试一下,如果有具体问题,请提出具体问题。
  • 一种方法是先编写一个更简单的程序,然后对其进行修改以获得您需要的程序。例如,第一次尝试可以忽略不同字符的使用,只生成一个“1”的三角形。
  • 我不鼓励。他在这里并没有要求任何困难,所以由于 SO 不是一个真正的谈话场所,我只是提供一种回答方式,以便他可以阅读并理解它,而不是仅仅提供可能无济于事的建议。
  • @Vakh 对于 OP 来说显然很难,否则他们会自己做。给出答案时没有任何解释,也没有暗示你是如何得到它的——如果这不鼓励家庭作业转储,我不知道是什么。如果像你这样的人让他们不假思索地交作业,他们应该如何学习?

标签: java for-loop


【解决方案1】:
public class CurvedZebraTriangle{

     public static void main(String []args){
        int n=5; 
        for(int i = 0; i <= n; ++i)
        {
           for(int j = 0; j< i; j++)
              System.out.print((i+j) % 2 == 0 ? "0 " : "1 ");

            System.out.print("\n");
        }

     }
}

【讨论】:

    【解决方案2】:

    我不想给你一个解决方案,但是你可以看到一些模式:

    • 位数与行号相同,假设从1开始。例如,在第一行中,您有1位;在第二个你有 2 位数。
    • 如果是奇数行,第一个数字是1;否则为 0。
    • 您总是在 0 和 1 之间切换,直到达到行号为止。

    【讨论】:

      【解决方案3】:

      试试:

      String s = "";
      for(int i = 0 ; i < nLines ; ++i) {
          s = (i % 2 == 0 ? "1 " : "0 ") + s;
          System.out.println(s); 
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        • 2016-07-17
        • 1970-01-01
        • 2020-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多