package com.tzcs;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class WeightDiagnosis {
// 用静态方法声明初始化参数
private static final double MAXHEIGHT=3.0;//身高最大值
private static final double MINHEIGHT=0.5;//身高最小值
private static final double MAXWEIGHT=200.0;//体重最大值
private static final double MINWEIGHT=20.0;//体重最小值
private static final String USERNAME="Admin"; //登陆的用户名Admin
private static final String PASSWORD="123"; //登陆的密码123
// 定一个输入流
InputStreamReader in = new InputStreamReader(System.in);
//定一个阅读器把输入流句装到阅读器中
BufferedReader rd = new BufferedReader(in);
//登陆系统
public void Landing()
{
String UserName=null;
String PassWord=null;
for(int i=0;i<3;i++)
{
try
{
System.out.println("请输入用户名!");
UserName=rd.readLine();
System.out.println("请输入用户密码!");
PassWord=rd.readLine();
}
catch(IOException e)
{
e.printStackTrace();
}
if(UserName.equals(USERNAME)&& PassWord.equals(PASSWORD))
{
System.out.println("登陆成功!");
break;
}
else if(i==2)
{
System.out.println("你输入错误超过三次,系统自动退出");
System.exit(0);
}
else
{
System.out.println("你输入的用户名或密码错误,您还有"+(2-i)+"次机会,请重新输入..");
}
}
}
//系统诊断
public void Diagnose()
{
String chooser=null;
System.out.println("是否开始自我诊断?请输入功能键:");
while(true)
{
switch(0)
{
case 0 :
System.out.print("1.开始诊断");
case 1 :
System.out.println("2.退出诊断");
try
{
chooser = String.valueOf(rd.readLine());//输入字符强制转换为String
}
catch(IOException e)
{
e.printStackTrace();
}
}
if(chooser.equals("1"))
{
break;
}
else if(chooser.equals("2"))
{
System.out.println("退出诊断,谢谢使用!");
System.exit(0);
}
else
{
System.out.println("你的选择无效!,请重新选择:");
}
}
}
//判断体重
public void weight()
{
String chooser=null;
// 定义初始化身高
float Height = 0.0f;
//定义初始化体重
float Kg = 0.0f;
while(true)
{
try
{
//在屏幕上提示用户输入身高
System.out.println("请输入身高(范围在0.5-3.0(m)):");
Height = Float.parseFloat(rd.readLine());
System.out.println("请输入体重(范围在2-200(kg)):");
Kg = Float.parseFloat(rd.readLine());
}
catch(IOException e)
{
e.printStackTrace();
}
if(Height>=MAXHEIGHT || Height<=MINHEIGHT)
{
System.out.println("你输入的范围无效,请重新输入:");
continue;
}
else if(Kg>=MAXWEIGHT || Kg<=MINWEIGHT)
{
System.out.println("你输入的范围无效,请重新输入:");
continue;
}
float result = Kg / (Height * Height);
//判断结果
String strShow = "测试结果:";
if (result < 18)
{
strShow = "偏瘦";
}
else if (result >= 18 && result <= 25)
{
strShow = "体重标准";
}
else if (result >25 && result <= 30)
{
strShow = "体重偏胖";
}
else if (result >30 && result <= 35)
{
strShow = "中度偏胖";
}
else if (result >35)
{
strShow = "重度肥胖";
}
else
{
System.out.println("你的输入无效,请新输入");
continue;
}
System.out.println(strShow);
break;
}
System.out.println("是否还要进行测试?请输入功能键:");
while(true)
{
switch(0)
{
case 0 :
System.out.print("1.开始测试");
case 1 :
System.out.println("2.退出测试");
try
{
chooser = String.valueOf(rd.readLine());
}
catch(IOException e)
{
e.printStackTrace();
}
}
if(chooser.equals("1"))
{
break;
}
else if(chooser.equals("2"))
{
System.out.println("退出测试,谢谢使用!");
System.exit(0);
}
else
{
System.out.println("你的选择无效!,请重新选择:");
}
}
weight();
}
public static void main(String[] args)
{
WeightDiagnosis wd = new WeightDiagnosis();
wd.Landing();
wd.Diagnose();
wd.weight();
}
}