2011年7月4日月曜日

復習

今日は名前と年齢を聞いて、10年後の足した年齢を表示することを覚える。
以下は参考書をそのまま写したコード。

import java.io.*;
public class HowOldAreYou {
public static void main(String[] args){
System.out.println("あなたの名前を入力して下さい。");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try{
String line =reader.readLine();
System.out.println(line + "さん、こんにちは。");
System.out.println("年齢を入力して下さい。");
line = reader.readLine();
int age =Integer.parseInt(line);
System.out.println("いま" + age + "歳とすると、10年後は"+ (age + 10) +" 歳ですね。");
}
catch (IOException e){
System.out.println(e);
}
catch(NumberFormatException e){
System.out.println("年齢が正しくありません。");

}


}
}
★readLineは文字列を一行分取得して行くメソッド
String line =reader.readLine();//入力待ち
line =reader.readLine();

★reader.readLine
rederは変数
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
変数readerはBufferedReader の型
char a ='A';と同じで 
型 変数名=代入する値
代入するのはnew BufferedReader (゚_゚)フムフム…
BufferedReaderっていうのは、データを読み込む為のクラス

★その後の(new InputStreamReader(System.in));
InputStreamReaderはBufferedReaderを作る為の引数。
new InputStreamReaderで別のクラスのオブジェクトを作成
System.inはキーボードからデータを入力する為の物。


ということで、
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));は
System.inで入力された文字列をもとに、InputStreamReader作成→ BufferedReader作成→
変数readerを、そのオブジェクトに作成。
なにこれ逆から反応していくという事かいな。

Integerは整数を表すクラス
parseIntは数字の列を解析して対応する整数値を得るメソッド
parseは文法の解析

2 件のコメント:

  1. 追記
    名前入力してください。
    名前入力させる処理をreaderとする
    try{
    記入されたreaderをlineに代入
    line + "さん、こんにちは。と返事をさせる

    年齢を入力して下さい。
    line = reader.readLine();でまた入力待ち処理
    int age =Integer.parseInt(line);はint型を指定し
    Integer.parseInt(line)は整数変換処理なのでageを整数にする。
    いま" + age + "歳とすると、10年後は"+ (age + 10) +" 歳ですね。")
    整数を入力されなかった時の処理は
    年齢が正しくありませんと表示

    }

    返信削除
  2. 追記2 メソッドとクラスを自分の中で整理する。
    ちょっとごっちゃになって混乱してる。

    返信削除