Java, повторить x раз строку - PullRequest
       18

Java, повторить x раз строку

0 голосов
/ 15 ноября 2018

Я хочу создать программу, которая принимает данные от пользователя, например: «s» означает «*», и я хочу напечатать ее x раз.Например, если пользователь вводит 4s, результат должен быть **** или что-то подобное 2s4s: ******.Я пытался использовать функцию charAt, но не смог справиться с числами ...

public static void main(String[] args) {
    // TODO Auto-generated method stub

    Scanner input = new Scanner(System.in);

    System.out.println("Welcome to image printer program.");

    System.out.print("Please enter your sequence:");

    String sequence = input.nextLine();

    char b = ' ';

    int s = 's';

    char n = '\n';

    for (int a = 0; a <= sequence.length() - 1; a++) {

        char c = sequence.charAt(a);

        if (c == 's') {

            System.out.print("*");

        }

    }

}

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Используйте методы Character.isDigit и Character.isLetter:

    int count = 0;
    boolean isLetter = false;
    String symbol = "*";
    String s = input.next();

    for (int i = 0; i < s.length(); i++) {
        char character = s.charAt(i);
        if (Character.isDigit(character)) {
            count = Character.getNumericValue(character);
        } else if (Character.isLetter(character)) {
            isLetter = true;
        }

        if (count != 0 && isLetter) {
            for (int j = 0; j < count; j++) {
                System.out.print(symbol);
            }
            count = 0;
            isLetter = false;
        }
    }
0 голосов
/ 15 ноября 2018

Кажется глупым дать вам прямой ответ, поэтому вместо этого я могу дать вам представление о подходе.

Постановка задачи

Итак, вы определили синтаксис <count>s<count>s.... Это означает, что для каждого s должно быть <count>.

Шаг 1 - Схватить счет.

Вы начинаете со строки типа s1s2s3s4. Вы разбили эту строку на букву s, которая дает вам:

["1","2","3","4"]

Шаг 2 - Сложение этих подсчетов.

Вы хотите узнать, сколько у вас всего звездочек, а это сумма всех подсчетов. Вам нужно сложить эти числа вместе.

1 + 2 + 3 + 4 = 10

Шаг 3 - Печать звездочек.

Полагаю, вы можете видеть, куда идти отсюда.

...