嗨,我正在尝试从键盘输入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();
}
}
}