このブログを検索

2019年6月7日金曜日

やさしいjava 6版 Lesson3 練習問題 5 (例外処理・メソッドにて入力)

やさしいjava 6版
「Lesson3」 練習問題 5を

「Java入門教室」
 に記載してあった ”汎用性のあるメソッド”を使った物を使って
 作ってみよう。

 元々は 身長と体重を都度 入力して その数値を 表示するもの。


🌟練習問題 3-5

// メソッド public static double input(String txt) ~ return Double.parseDouble で返す に変更
// throws IOException → try~catch文に 変更

import java.io.*;

class SampleP5_1
{
    static double height = 0.0; //フィールド クラス変数 身長
    static double weight = 0.0; //フィールド クラス変数 体重
    
    public static void main(String[] args)
    {
        System.out.println("身長と体重を入力して下さい。");
        Sintaisokutei();
    }
    
    public static void Sintaisokutei()
    {
        height = input(" 身長は 何cm ですか?");
        weight = input(" 体重は 何kg ですか?");
        System.out.println("身長" + height + "cm。体重" + weight + "kg です。");
    }
    public static double input(String txt)
    {
        System.out.println(txt);
        
        BufferedReader br =
         new BufferedReader(new InputStreamReader(System.in));
        String str = null;     //try~catch文をまたぐ為 str を宣言 初期化が必要
        
        try{
            str = br.readLine();
        }catch(IOException e){
            System.out.println("入出力エラーです。");
        }
        
        try{
            return Double.parseDouble(str);
        }catch(Exception e){        //エラーの場合 0.0を返す
            System.out.println("数値以外が入力されました。");
            return 0.0;
       
    }

}

まだ改良出来る所はあるのかな。

今日の教訓
 まだまだ 続けて勉強しよう。

0 件のコメント:

コメントを投稿