嗨,我正在尝试从键盘输入3个整数,并打印与从键盘输入的整数相等的星号行。非常感谢有人能对此提供帮助,在此先感谢。

public class Histogram1 {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Please input the first integer for histogram1: ");
        int a1 = in.nextInt();

        System.out.print("Please input the second integer for histogram1: ");
        int b1 = in.nextInt();
        System.out.print("Please input the third integer for histogram1: ");
        int c1 = in.nextInt();
        histogram1();
    }

    public static void histogram1(){
        int n =0;
        for (int i = 0; i <= n; i++)
        {
            for( int j = 1; j <=n; j++)
            {
                System.out.println("*");
            }
            System.out.println();
        }
    }
}

最佳答案

是你想要的吗?


您的n变量始终为= 0:我认为您需要一个参数
您有2个循环的循环:您正在打印(n *(n-1))*,每行一个(但是当n = 0时,没有出现)
为此,您是否真的需要扫描仪?System.in.read()可以完成此工作,而您不必管理扫描仪。
当您要求不带参数时,可以在类中使用静态变量。我还将名称更改为更有意义的变量名称,因为正确选择变量的好名称始终是一个好主意。

公共类Histogram1 {

static int nb_stars=0;
/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    System.out.print("Please input the first integer for histogram1: ");
    nb_stars = in.nextInt();
    show_histogram();

    System.out.print("Please input the second integer for histogram1: ");
    nb_stars = in.nextInt();
    show_histogram();

    System.out.print("Please input the third integer for histogram1: ");
    nb_stars = in.nextInt();
    show_histogram();

}
public static void show_histogram(){
        for(int j=1; j<=nb_stars; ++j)
        {
            System.out.print("*");
        }
        System.out.println();
    }
}


}

09-11 19:14