1.Java计算BMI值1.计算体重指数BMI是国际标准,用来衡量人体的胖瘦程度以及是否肥胖健康。2、BMI值的计算算法为BMI=(体重)kg/(身高)^2(米)3、BMI标准男性:BMI值小于20,属于体重过轻;BMI值为20-25,属于中等;BMI值25-30为超重;BMI值为30-35被认为是肥胖;高于35的BMI值被认为非常肥胖;女性:BMI值低于19被认为体重过轻;BMI值为19-24被认为是适中的;BMI值为19-24被认为是适中的;值为24-29为超重;BMI值为29-34为肥胖;BMI值高于34是非常肥胖;4.示例实现:importjava.util.Scanner;publicclassJava01{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStringsex;doubleheight,weight;//定义身高体重doublebmi;//计算并保存BMI值Scannerscan=newScanner(System.in);System.out.println("请输入您的性别:");sex=scan.next();System.out.println("请输入您的身高(米):");height=scan.nextDouble();System.out.println("请输入您的体重(公斤):");weight=scan.nextDouble();bmi=体重/身高/身高;if(sex.equals("男")){if(bmi<20){System.out.println("您的体重太低了!您的BMI值为:"+bmi);}elseif(bmi<25&&bmi>=20){System.out.println("您的体重适中!您的BMI值为:"+bmi);}elseif(bmi<30&&bmi>=25){System.out.println("你超重了!你的BMI值为:"+bmi);}elseif(bmi<35&&bmi>=30){System.out.println("您的体重超重!您的BMI值为:"+bmi);}else{System.out.println("您的体重超重!您的BMI值为:"+bmi);}}elseif(sex.equals("女")){if(bmi<19){System.out.println("您的体重太低了!您的BMI值为:"+bmi);}elseif(bmi<24&&bmi>=19){System.out.println("您的体重适中!您的BMI值为:"+bmi);}elseif(bmi<29&&bmi>=24){System.out.println("您的体重太重了!您的BMI值为:"+bmi);}elseif(bmi<34&&bmi>=29){System.out.println("你的体重超重!你的BMI值为:"+bmi);}elseif(bmi>=34){System.out.println("你的体重超重了!你的BMI值是:"+bmi);}}else{System.out.print("你的输入有误!");}}}运行的结果是:从上面的代码来看,如果用户输入的不是男或女,会返回你输入的性别、身高(m)和体重(kg)错误,然后计算BMI值,进而判断你的体脂瘦度。二、HashSet集合1、HashSet集合是Set接口的一个实现类。它存储的元素不能有重复的方法,元素也是乱序的。如果向HashSet集合中添加一个对象,首先调用该对象的hashCode()方法确定该元素的存储位置,然后使用equals()方法调用该位置的元素,查看是否存在重复元素。2、HashSet集合的使用importjava.util.HashSet;importjava.util.Iterator;publicclasst6{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//创建HashSet集合HashSeths=newHashSet();//添加到hs集合元素hs.add("aa");hs.add("bb");hs.add("cc");hs.add("dd");//获取Iterator对象Iteratorit=hs.iterator();//通过循环判断hs集合是否有元素while(it.hasNext()){Strings=(String)it.next();System.out.println(s);}}}运行结果是:3.如何将Student对象存储到HashSet集合中?importjava.util.*;//定义Student类classStudent{privateStringid;privateStringname;publicStudent(Stringid,Stringname){this.id=id;this.name=name;}//重写toString()方法publicStringtoString(){returnid+":"+name;}//重写hashCode()方法publicinthashCode(){returnid.hashCode();}//重写equals()方法publicbooleanequals(Objecto){if(this==o){returntrue;}if(!(oinstanceofStudent)){returnfalse;}Students=(Student)o;booleanb=this.id.equals(s.id);returnb;}}publicclasst7{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubHashSeths=newHashSet();//创建一个HashSet对象Students1=newStudent("1","张三");//Student对象Students2=newStudent("2","李四");Students3=newStudent("2","李四");Students4=newStudent("3","小王");Students5=newStudent("1","张三");hs.add(s1);hs.add(s2);hs.add(s3);hs.add(s4);hs.add(s5);System.out.println(hs);}}运行结果为:从上面的代码来看,如果hashCode()方法和equals()方法,就会有重复的元素。hashCode()方法将返回其id属性的值。在equals()方法中比较对象的id属性是否相同,然后返回一个结果。4.小结本文主要介绍了Java计算BMI值的实现,HashSet集合,以及HashSet集合中如何存储Student对象。这个BMI值在国际上主要作为衡量人体胖瘦程度以及是否健康的标准。HashSet集合是Set接口的一个实现类。里面存放的元素不能有重复的方法,元素也是乱序的。要在hashSet中存储Student对象,需要重写Student类的hashCode()方法和equals()方法,这样就不会出现重复元素了。通过本文的学习,希望对您有所帮助!本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。
