26.1.8.4 文字コード

プログラムInCharでは,tryブロックで囲むだけの処理で文字入力を行なうことができました.これは,キーボードからの文字入力が

という単純な性質をもっているからです.

このように単純な文字入力ですが,文字コードの性質を使えば,小さな数値入力として使うことができます.文字を表わす整数値は,数字'0'から'9'までは,きちんと1ずつ大きくなるように決められています. たとえばASCIIと呼ばれる体系では,数字の文字 ('0', '1', ..., '9') を表す 整数値は順に 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 となっています.

これを利用すると,入力した数字文字をcとして,

c-'0'

によって0から9までの値が得られます.ここで,たとえば文字'6'と数値の6との違いを理解しておくことが大切です.

入力した数字一文字に対応する回数だけの行を表示してみましょう.

class RepChar{
 public static void main(String argv[]){
    int i, c='0';
    try{
       c=System.in.read();
    }catch(java.io.IOException e){}
    for(i=1; i<=(c-'0'); i=i+1)
        System.out.println("Digit Text");
 }
}

fileRepChar.java