Я создаю метод, который запрашивает у меня число, и я напечатал бы это число в звездочках. Например, если я введу число 4, это должно распечатать:

*

**

***

****

Код:

public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter your number ");
        int number = in.nextInt();
        String numbah = Integer.toString(number);
        String substring = numbah.substring(0);


        if(number < 0)
        {
            System.out.println("Bye bye!");
            System.exit(0);
        }

        for(int i = 0; i < number; i ++)
        {
            System.out.println("*");
        }
    }
}

У меня просто проблемы с увеличением символа на каждую строку.

0
john watkins 1 Май 2019 в 00:55

2 ответа

Попробуйте использовать повтор из Java 11

public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter your number ");
        int number = in.nextInt();
        String numbah = Integer.toString(number);
        String substring = numbah.substring(0);


        if(number < 0)
        {
            System.out.println("Bye bye!");
            System.exit(0);
        }

        for(int i = 0; i < number; i ++)
        {
        System.out.println("*".repeat(i));
        }
    }
 }

Или из Java 1.5+

 System.out.println(new String(new char[i]).replace("\0","*");

Как говорят другие, вы можете создать переменную String и объединить * в каждом цикле for

0
GJCode 30 Апр 2019 в 22:05

Java 11 позволяет повторить метод ..

for(int i = 1; i < =number; i ++). {
           System.out.println("*".repeat(i));
      }
0
Arasn 1 Май 2019 в 00:55