在每行上打印一个*作为输出

时间:2018-10-21 21:37:20

标签: java netbeans

我对Java很陌生。这是我的问题的输出结果: 输入5到20之间的数字: 5 ..... 5星*位于第一行。秒上的4星。在下一颗星上排3,在最后一行上一颗星。

我做了所有事情,但我无法像这样打印星星,这是我的代码:

    int number; 
    int num_stars; 
    Scanner num = new Scanner(System.in);
    System.out.println("Enter a number between 5 and 20"); user to enter a 
    number = num.nextInt();
    for(int i= 5; i >= number; i--) 
    { 

        //  inner loop to handle number of columns 
        //  values changing acc. to outer loop     
        for(int j = 20; j >= i; j--) 
        { 
            // printing stars 
            System.out.print("* "); 
        } 

        // ending line after each row 
        System.out.println(); 
    } 

谢谢您的时间

2 个答案:

答案 0 :(得分:0)

尝试:

  for (int i=number;i>0;i--){
            for(int j=i;j>0;j--){
               System.out.print("*");
            }
            System.out.println( );
        }

但是尝试这种练习自己解决。它建立了您的逻辑。

答案 1 :(得分:0)

您可以尝试使用休闲代码..为我工作..

    int number;
    int num_stars;
    System.out.println("Enter a number between 5 and 20");
    Scanner s = new Scanner(System.in);
    number = Integer.valueOf(s.nextLine());
    num_stars=number;
    for (int i = 1; i <= number; i--) {

        for (int j = 0; j < num_stars; j++) {
            System.out.print("*");
        }
        num_stars--;
        System.out.println();
    }
    System.out.println("over");
}