解答例 - j1.lesson05.MultRow

package j1.lesson05;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 課題0503 - 解答例.
 @author s.arakawa
 @version $Id: MultRow_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
 */
public class MultRow {

    /**
     * コンソールに1以上9以下の整数を入力させ、
     * 入力された値の段の九九を表示するプログラム。
     @param args 無視される
     @throws IOException 入力中に例外が発生した場合
     */
    public static void main(String[] argsthrows IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        
        // row: 段を表す
        System.out.print("1以上9以下の整数を入力してください:");
        int row = Integer.parseInt(reader.readLine());
        
        // (1以上9以下)でない は次の条件と等価
        // 1未満 または 9より大きい
        // ド・モルガンの定理を参照
        if (row < || < row) {
            System.out.println("1以上9以下の整数を入力してください");
        }
        else {
            // 出力するそれぞれの値は、i={1,..,9} に対して 入力された値 * i
            // そのような i を取る繰り返しを考える
            for (int i = 1; i <= 9; i++) {
                
                // 出力する値をはじめに変数に代入しておく
                int col = row * i;
                
                // 出力する値が1桁(=10未満)ならば先頭に 0 を出力
                if (col < 10) {
                    System.out.print("0");
                }
                
                // 値を出力
                System.out.print(col);
                
                // それぞれの出力の区切りとしてスペースを出力
                System.out.print(" ");
                
                // 以上を9回繰り返す
            }
        }
    }
}