整数のユーザー入力を求めるプログラムを作成し、whileループを使用してユーザー入力に基づいて掛け算の九九を作成するという割り当てがあります。
出力乗算テーブルには、ヘッダーの行と列が含まれている必要があります。ヘッダーがカウントアップする必要のある数はユーザー入力に依存するため、私が固執しているのはヘッダー行の作成方法です。
ループがステップスルーされるたびに新しい行が作成されるため、行をフォーマットするwhileループにヘッダー列を作成しました。ただし、ヘッダー行は1回しか出力されないため、列をフォーマットして作成するwhileループを使用できません。
ユーザー入力が1にデクリメントされ、1、2、3、...、ユーザー入力のすべての整数値が出力されるようにヘッダー行を作成するにはどうすればよいですか?
これが私が持っているものです:
import java.util.Scanner;
public class Multiplication
{
public static void main(String[] args)
{
int number;
String yesno = "Y";
Scanner keyboard = new Scanner(System.in);
System.out.print ("This program generates a multiplication table ");
System.out.println("based on a number you enter.");
while(yesno.equalsIgnoreCase("Y"))
{
System.out.println("Please enter a number.");
number = keyboard.nextInt();
int row = 1;
int column = 1;
System.out.println(" |" + MAKETHISWORK + "\t"); //THIS IS WHERE I'M STUCK.
System.out.println("--------------------");
while(number>0)
{
row = 1;
while(row <= number)
{
System.out.print(row + "|");
column = 1;
while(column <= number)
{
System.out.print(row*column + "\t");
column ++;
} //END WHILE COLUMN <= NUMBER
System.out.println();
row ++;
} //END WHILE ROW <=NUMBER
System.out.println();
while(number>0)
{
number--;
}
} //END WHILE NUMBER >0
System.out.println("Would you like to enter another number? (Y/N) ");
yesno = keyboard.nextLine();
yesno = keyboard.nextLine();
} //END WHILE YESNO IS Y
while(yesno.equalsIgnoreCase("N"))
{
System.out.println("Thanks for participating!");
break;
}
}
}