-1

ユーザーに 1 から 5 までの数字を入力するように求める必要があります。これは掛け算の表のサイズです。ユーザーが 5 より大きい数値または負の数値を入力すると、プログラムは無効な数値を入力したことを通知し、再度プロンプトを表示します。ユーザーが 0 を入力すると、プログラムの実行を停止します。誰かがこの部分を書くのを手伝ってくれますか?

私がこれまでに持っているもの:

// Beginning of class MultiplicationTable
public class MultiplicationTable {      

// Beginning of method main
public static void main(String[] args) {    

    /* Declare and initialize primitive variables */
    int result;

    /* Header */
    // First, print some space
    System.out.print("    ");

    // Then, print numbers from 1 to 5 across the top
    for (int j = 1; j <= 5; j++) {
        System.out.print("    " + j); 
    }
    System.out.println();

    /* Separator */
    // Print a dashed line
    for (int j = 1; j < 50; j++) {
        System.out.print("-");
    }   
    System.out.println();

    /* Values */
    // Outer loop: multipliers
    for (int outer = 1; outer <= 5; outer++) {  
        System.out.print(outer + " | ");

        // Inner loop: values
        for (int inner = 1; inner <= 5; inner++) { 

            // Calculate the value
            result = outer * inner;

            // Format the output
            if (result < 10) {

                // Here, we need an extra space if the result is 1 digit
                System.out.print("    " + result);
            }
            else {
                System.out.print("   " + result);
            }

        }   // End for inner

        System.out.println();

    }   // End for outer

} // End of method main

} // End of class MultiplicationTable
4

1 に答える 1

0
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

int num;

while(true)
{
    try
    {
        System.out.print("Enter a number from 1 to 5: ");
        num = Integer.parseInt(input.readLine());
        if(num >= 1 && num <= 5)
             break;
        else
             System.out.println("Number must be between 1 and 5");
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
    catch(NumberFormatException e)
    {
        System.out.println("Not an integer!");
    }
}

これにより、1 から 5 までの整数を入力するまで、入力を求めるプロンプトが表示され続けます。その整数は「num」に保存されます。

于 2013-10-02T19:48:25.823 に答える