java - 在 Java 中使用 "+,-,|"绘制形状

标签 java loops for-loop drawing shapes

我的作业是用“+,-,|”做形状

我必须这样做:

+--+--+--+
|  |  |  |
+--+--+--+
|  |  |  |
+--+--+--+
|  |  |  |
+--+--+--+

但我在输出中看到了这个:

+--+--+--+
|  |  |  |
+--+--+--+
|  |  |  |
+--+--+--+
|  |  |  |
+--+--+--+
|  |  |  |

这是我的代码:

public class Method {

        void MakingShapes()
            {
                for (int j = 0; j <= 3; j++) {

                    for (int i = 0; i <=9; i++) {

                        if(i%3==0)
                        {
                            System.out.print("+");
                        }

                        else
                        {
                            System.out.print("-");
                        }
                    }

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

                    for (int i = 0; i <=9; i++) {

                        if(i%3==0)
                        {
                            System.out.print("|");

                        }
                        else
                        {
                            System.out.print(" ");
                        }
                    }
                    System.out.println("");

                }
            }
        }

我知道我的错误在循环中但我找不到它,但它看起来像在最后一个循环中。 谢谢。

最佳答案

我认为您可以通过使用不同的方法使其更清晰:

  private void verticalLine() {
    for (int i = 0; i <= 9; i++) {

      if (i % 3 == 0) {
        System.out.print("|");

      } else {
        System.out.print(" ");
      }
    }
    System.out.println("");
  }

  private void horizontalLine() {
    for (int i = 0; i <= 9; i++) {

      if (i % 3 == 0) {
        System.out.print("+");
      }

      else {
        System.out.print("-");
      }
    }

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

你的方法变成:

  void MakingShapes() {
    for (int j = 0; j <= 3; j++) {
      horizontalLine();
      verticalLine();
    }
  }

很明显,您只需要在循环后调用一个额外的 horizo​​ntalLine() 来关闭显示。正如@JamesC.TaylorIV 在评论中指出的那样,要获得目标输出,您还需要将循环减少到只运行三次:

  void MakingShapes() {
    for (int j = 0; j < 3; j++) {
      horizontalLine();
      verticalLine();
    }
    horizontalLine();
  }

关于java - 在 Java 中使用 "+,-,|"绘制形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27845355/

相关文章:

c# - App.Exit 不立即退出?

python - 加速 python 中的嵌套 for 循环/通过 numpy 数组

xml - XQuery : most efficient way of for-iterating only when needed?

Python - 简单的 for 循环未按预期工作(使用请求模块)

java - 使用Java压缩图像大小

java - Stream.collect(groupingBy(identity(), counting()) 然后按值对结果进行排序

java - JAXB 混合内容列表包含换行符

list - Terraform,创建 map ,其中列表元素是值

java - .class 文件的名称和位置在哪里定义?

php - 我想从数据库获取一个值,然后递增它以在插入查询中使用