私のプログラムでは、2〜10の間の行を受け入れるプログラムを作成します。n行の乗算三角形を作成します。各行には行サイズまでのエントリが含まれます。これは私には問題ありません。しかし、ユーザーが "印刷したい行の数を入力してください:"という質問に数字0を入力した後、ループを終了して「このプログラムを使用していただきありがとうございます!私はDO ... WHILEループを使用して、ユーザーが継続したいかどうかを判断しました。私のループでは、ユーザーがint numとして印刷したい数値を宣言しました。 num> = 1の間、私のループは続くはずです。しかし、私はラインでエラーメッセージを受信し続けます(num> = 1)。それはシンボルを見つけることができないと言っている。それはなぜそれを言っているのですか?事前にありがとうDo whileループはループ内で入力された変数を読み込みません
import java.io.*;
import java.util.*;
public class Prog166g
{ //begin testshell
public static void main (String[] args)
{ //begin main
int i;
int outer;
int inner;
int result;
int example = 4;
System.out.print("Number of rows for this triangle : " + example +"\n");
for (i = 1; i <= example; i++) {
System.out.printf("%5s", i);
}
System.out.println("");
for (outer = 1; outer <= 4; outer++) {
for (inner = 1; inner <= outer; inner++) {
result = outer * inner;
System.out.printf("%5s", result);
}
System.out.println("");
}
System.out.println("");
do{
System.out.print("Please enter the number of rows you would like to print: ");
Scanner kbReader = new Scanner(System.in);
int num = kbReader.nextInt();
System.out.println("");
System.out.println("Number of rows for this triangle: " + num);
for (i = 1; i <= num; i++) {
System.out.printf("%5s", i);
}
System.out.println("");
for (outer = 1; outer <= num; outer++) {
for (inner = 1; inner <= outer; inner++) {
result = outer * inner;
System.out.printf("%5s", result);
}
}
}while (num>=1);
System.out.println("Thank you for using this program");
}// ends main
}//ends testshell
'while'ループのスコープ(' num'を使用しているところ)が 'do'ループの外側にあるので、' num num 'シンボルを見つけることができません。あなたは 'num'を宣言します)。 'do {}'の開始前に 'int num;'を宣言し、エラーをクリアする必要があります。 – davedwards