0
1

More than 3 years have passed since last update.

血圧測定結果管理プログラムのソースコードを公開いたします

Last updated at Posted at 2021-03-21

血圧測定結果管理プログラムのソースコードを公開いたします

//
//
//    血圧記録プログラム
//  新規作成日  2021/03/19(Ver1.0)
//    作成者   乃木坂46好きのITエンジニア
//
//
//
//
//
//

//パッケージの定義
package Ketsuatsu;

//importするAPIを定義
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;



//標準入力クラス
class top_ketsuatsudata{
    //日付オブジェクトを呼び出す
    //Date d = new Date();
    //日付フォーマットオブジェクトを呼び出す
    //SimpleDateFormat d1 = new SimpleDateFormat("yyyy/MM/dd");
    //文字列型のデータに変換する
    //private String hiduke = d1.format(d);
    //上の血圧
    private int t_blood;
    //下の血圧
    //private int u_blood;
    //ループフラグ
    private boolean flag = false;
    //Scannerオブジェクトを呼び出す
    Scanner sc = new Scanner(System.in);
    //上の血圧を入力するメソッド
  public int t_blood_data() {
    while ( flag == false) {
        System.out.println("上の血圧を入力してください");
        String line1 = sc.nextLine();
        //例外処理判定
        try {
            t_blood = Integer.parseInt(line1);
            flag = true;

        //文字列を入力された場合の処理
        } catch (NumberFormatException e){
            System.out.println("数値を入力してください");
        }
    }
    return t_blood;

  }
}
class under_ketsuatsudata{
    //下の血圧フィールド
    private int u_blood;
    //ループフラグ
    private boolean flag = false;
    //Scannerオブジェクトを呼び出す
    Scanner sc = new Scanner(System.in);
    //上の血圧を入力するメソッド
    public int u_blood_data() {
        while ( flag == false) {
            System.out.println("下の血圧を入力してください");
            String line2 = sc.nextLine();
            //例外処理判定
            try {
                u_blood = Integer.parseInt(line2);
                flag = true;

            //文字列を入力された場合の処理
            } catch (NumberFormatException e){
                System.out.println("数値を入力してください");
            }
        }
        return u_blood;
    }
}
//出力結果クラス
class kekka{
  public static void kekka(int a,int b) {
    //日付オブジェクトを呼び出す
    Date d = new Date();
    //日付フォーマットオブジェクトを呼び出す
    SimpleDateFormat d1 = new SimpleDateFormat("yyyy/MM/dd");
    String c = d1.format(d);
    String msg = "";

    //System.out.println(c);


    //厚生労働省のBMI値の基準でやせすぎ、普通、肥満度を判定する。
        if ((a < 120) && (b < 80)) {
            msg = "Low-blood";
            //System.out.println("低血圧です");
        } else if (((a>=120) && (a<140)) || ((b >= 80) &&( b < 90))) {
            msg = "Normal-Blood";
            //System.out.println("正常血圧です");
        } else if (((a>=140) && (a<160)) || ((b >= 90) &&( b < 100))) {
            msg = "High-blood(First)";
            //System.out.println("高血圧(1度)です");
        }else if (((a>=160) && (a<180)) || ((b >= 100) &&( b < 110))) {
            msg = "High-blood(Second)";
            //System.out.println("高血圧(2度)です");

        } else {
            msg = "High-blood(Critical)";
            //System.out.println("高血圧(3度)です");
        }
        //ファイルの書き込み処理
        FileWriter fw = null;
        //書き込みエラーが出た場合、書き込みエラーをメッセージ表示する
        try {
            fw = new FileWriter("ketsuatsu.csv",true);
            fw.write(c + "," + a + "," + b + "," + msg + "\n");
            fw.flush();
        } catch (IOException e) {
            System.out.println("ファイル書き込みエラーです");
        } finally {
            //ファイルを閉じる処理。閉じるのに失敗した場合、エラーメッセージを表示する。
            if (fw !=null) {
                try {
                    if (fw != null) {
                        fw.close();
                    }
                } catch(IOException e2) {
                    System.out.println("ファイルを閉じるのに失敗しました");
                }
                System.out.println("ファイルの書き込みに成功しました");
            }
        }
    }

}

//メインクラス
public class Ketsuatsu {
    public static void main(String[] args) {
        //上の血圧データオブジェクトを呼び出す
        top_ketsuatsudata t = new top_ketsuatsudata();
        //下の血圧データオブジェクトを呼び出す
        under_ketsuatsudata u = new under_ketsuatsudata();
        //戻り値フィールドを定義する。
        int top_blood;
        int under_blood;
        //上の血圧を返す。
        top_blood = t.t_blood_data();
        //下の血圧を返す。
        under_blood = u.u_blood_data();
        //結果表示メソッドを呼び出す
        //KEKKAオブジェクトを呼び出す。
        kekka k = new kekka();
        k.kekka(top_blood,under_blood);
    }
}
0
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1