java - 三角形每次移动1

标签 java

import java.util.Scanner;

public class Testpyramid {
   public static void main(String[] args) {
      // TODO code application logic here
      int i = 0, j = 0, g = 0, n = 0;
      while (i >= 0) {
         Scanner input = new Scanner(System.in);
         System.out.println("Enter an odd number:");
         i = input.nextInt();
         if ((i % 2) == 0) {
            System.out.println("Number not valid, please enter an odd number: ");
         } else {
            if ((i % 1) == 0) {
               for (; i > 0; i--) {
                  for (j = 1; j <= n; j++) {
                     System.out.print(" ");
                  }
                  for (int k = i; k > 0; k--) {
                     System.out.print("* ");
                  }
                  System.out.println();
                  n++;
               }
            }
            System.out.println("Enter 1 to restart or 2 to exit:");
            g = input.nextInt();
            if ((g > 1) && (g < 3)) {
               break;
            } else {
               if ((g < 1) || (g > 3)) {
                  System.out.println("Must enter 1 or 2");
               }
            }
         }
      }
   }
}

在输入结束时,我询问用户是否想重试。当我再次输入数字时,输出因某种原因将三角形向右移动。我一整天都在致力于这个项目,而这正是令我困惑的地方。

最佳答案

获得三角形的高度后,将n重置为零。

// ...
Scanner input = new Scanner(System.in);
System.out.println("Enter an odd number:");
i = input.nextInt();
n = 0;                                     // <- Here
// ...

关于java - 三角形每次移动1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566030/

相关文章:

java - Hibernate 在级联所有保存时不生成子 ID

java - 如何将xml转换为java字符串列表

java - 在 Web 浏览器中无法看到 Java Maven Tomcat-plugin Web 应用程序

java - 如何在运行时获取 Java 应用程序的真实路径?

java - 合并两个排序数组时,使用数组还是队列更好?

java - jdbc错误参数索引超出范围(2>参数数量,即1)

java - 有没有办法与 Java 1.3 建立 HTTPS 连接?

java - 数据库密码存储问题,Java Web App

java - 为什么不使用 google.gson.GsonBuilder JSON 解析器序列化静态字段?

Java 组件最大尺寸