Печать дерева путем принятия целого числа в основной метод

#java

#java

Вопрос:

Я пытаюсь распечатать дерево, приняв целое число в основной метод для вводного класса программирования. Если число положительное, примите его. Если оно отрицательное, выведите инструкцию и завершите программу.

Программа работает отлично. Однако мне не разрешено печатать в именованном методе (printTriangle()).

Каким было бы логическое изменение в порядке кода, чтобы сохранить операторы печати исключительно в основном методе ()?

Я предоставил код и выходные данные ниже для вашего удобства.

Спасибо!

 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
 

Комментарии:

1. Просто скопируйте и вставьте все внутри этого метода и замените им вызов вашего метода.

2. Сделайте так, чтобы ваш метод возвращал значение, которое вы хотите напечатать

Ответ №1:

Просто скопируйте код, который находится внутри 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");
        }
    }
 

Комментарии:

1. Большое вам спасибо! Однако, если число положительное, я должен передать это число в качестве параметра методу с именем printTriangle() .

2. В вопросе вы сказали, что вам не разрешено печатать его с помощью метода printTriangle .

3. Оглядываясь назад на приглашение, решение, которое вы предоставили, работает. Спасибо за ваш вклад и помощь.