что мне не хватает для вывода обратного треугольника - PullRequest
0 голосов
/ 06 мая 2020

Вот что у меня есть на данный момент. Когда я запускаю код, я получаю правильное количество букв, однако он выводится по прямой линии, а не по схеме обратного треугольника.

import java.util.*;
import java.io.*;

class Main {
    public static void main(String[] args) throws IOException {

        Scanner f = new Scanner(new File("labA21.dat"));
        while (f.hasNext()) {
            triangleTwo(f.nextInt(), String.format(""+ f.next().charAt(0)));
        }
    }

    /**
      Description: output a reverse triangle given a number of rows and a letter
      @param r a number of rows
      @param let a letter that we want to output
    */
    public static void triangleTwo(int r, String let) {

        for (int a=r;a>=1;a==) {
            for (int b=1;b<=a;b++)
                System.out.println(let);
            System.out.println();
        }
        System.out.println();
    }
}

Что я получаю:

A
A
A

A
A

A

Что я должен получить:

AAA
AA
A

1 Ответ

1 голос
/ 06 мая 2020

Вы почти получили правильный код.

Проблема заключается в методе, который вы вызываете для печати символов.

System.out.println(String) печатает строку, а затем перенос строки. Это то, что вы хотите сделать в конце каждой строки. Но не между символами.

Чтобы напечатать строку без разрыва строки в конце, используйте System.out.print(String).

Проверьте java официальное руководство или javado c для более подробной информации.

public static void triangleTwo(int r, String let) {
    for (int a=r; a>=1; a--) {
        for (int b=1; b<=a; b++) {
            System.out.print(let); // no line break between char of the same row
        }
        System.out.println(); // line break for the end of the row
    }
    System.out.println(); // another line break, this is optional
}

Примечание : в следующий раз, когда вы опубликуете вопрос на SO, опубликуйте код, текущий результат, и ожидаемый вывод в виде текста. Текст более стойкий, чем изображения, и его может легко скопировать / вставить любой, не теряя времени на переписывание всего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...