Java - 沙漏

标签 java

我错过了一点点。我想要什么:

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

我得到了什么

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

代码

public class HD404 {
    public static void main(String[] args) {

        int N = StdIn.readInt();
        int x = N*2-1;

        for (int i = 0; i < N; i++) {
            for (int j = i; j > 0; j--) {
                StdOut.print(" ");
            }
            for (int k = 0; k < x; k++) {
                StdOut.print("*");
            }
            x-=2;
            StdOut.println();
        }

        x = 1;
        for (int i = 0; i < N; i++) {
            for (int j = i; j < N-1; j++) {
                StdOut.print(" ");
            }
            for (int k = 0; k < x; k++) {
                StdOut.print("*");
            }
            x += 2;
            StdOut.println();
        }

    }
}

现在我主要是在猜测,我无法指出我的错误。我在这里缺少什么?

最佳答案

问题出在代码的第二部分,您要求绘制一颗星,而您从零开始,而您应该从一开始。


解决方案

x = 1;
for (int i = 0; i < N; i++)

应替换为

x = 3;
for (int i = 1; i < N; i++)

关于Java - 沙漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109810/

相关文章:

java - Android:媒体播放器流在几分钟后停止播放

java - 使用动态规划的斐波那契数列

java - 从相机设备拍摄的照片中获取信息

Java ArrayList问题

java - 在一类 MyGdx Game 中编写了整个游戏。我如何制作主菜单? libgdx

java - 为我正在创建的 GUI 中的 JMenuItem "Copy"提供低级功能

java - JTable数据垂直滚动时不稳定

java - 如何在java中的 vector 中插入 vector 元素

java - Java Spring服务中访问HttpServletRequest和HttpServletResponse

java - Spring Boot 。在 RestController 上转发