首页 > 解决方案 > 通过在 main 方法中接受一个整数来打印一棵树

问题描述

我试图通过在介绍编程类的主要方法中接受一个整数来打印一棵树。如果数字是正数,请接受。如果是否定的,打印一条语句并终止程序。

该程序运行完美。但是,我不允许在命名方法 (printTriangle()) 中打印。

将打印语句仅保留在 main method() 中的代码顺序的逻辑变化是什么?

为了您的方便,我在下面提供了代码和输出。

谢谢!

package triangletest;

import java.util.Scanner;

public class triangletest {

    public static void main(String[] args) {
        System.out.print("Enter the number of lines: ");

        Scanner scanner = new Scanner(System.in);

        int input = scanner.nextInt();

        scanner.close();

        if (input > 0) {
            printTriangle(input);
        } else {
            System.out.print("Number of lines is negative. Exiting");
        }
    }

    static void printTriangle(int input) {
        for (int i = 1, triangle = 1; i <= input; i++, triangle += 1) {
            for (int space = input; space > i; space--)
                System.out.print(" ");

            for (int x = 1; x <= triangle; x++)
                System.out.print("* ");

            System.out.println();
         }
    }
}

输出:

Enter the number of lines: 
5

标签: java

解决方案


只需将方法中的代码复制printTriangle到您调用printTriangle方法的位置即可。

    public static void main(String[] args) {
        System.out.print("Enter the number of lines: ");
        Scanner scanner = new Scanner(System.in);
        int input = scanner.nextInt();
        scanner.close();
        if (input > 0) {
            for(int i = 1, triangle = 1; i <= input; i++, triangle += 1)
            {
                    for(int space = input; space > i; space--)
                        System.out.print(" ");
                    for(int x = 1; x <= triangle; x++)
                        System.out.print("* ");
                    System.out.println(); 
            }
        }
        else 
        {
            System.out.print("Number of lines is negative. Existing");
        }
    }

推荐阅读