前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你用Java实现计算BMI值、HashSet集合

手把手教你用Java实现计算BMI值、HashSet集合

作者头像
Java进阶者
发布2021-09-15 15:08:30
2.7K0
发布2021-09-15 15:08:30
举报

一、Java实现计算BMI值

1.计算体重指数BMI,在国际上是用来衡量人体的胖瘦程度以及是否健康的一个标准。

2.计算BMI值的算法是BMI=(体重)kg/(身高)^2(m)

3.BMI的标准

男性:BMI值低于20,属于过轻;BMI值20-25,属于适中;BMI值25-30,属于过重;BMI值30-35,属于肥胖;BMI值高于35,属于非常肥胖;

女性:BMI值低于19,属于过轻;BMI值19-24,属于适中;BMI值24-29,属于过重;BMI值29-34,属于肥胖;BMI值高于34,属于非常肥胖;

4.例子的实现:

代码语言:javascript
复制
import java.util.Scanner;
public class Java01 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        String sex;
        double height,weight;//定义身高、体重
        double bmi;//计算保存BMI值
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入您的性别:");
        sex=scan.next();
        System.out.println("请输入您的身高(m):");
        height=scan.nextDouble();
        System.out.println("请输入您的体重(kg):");
        weight=scan.nextDouble();
        bmi=weight/height/height;
        if(sex.equals("男")){
            if(bmi<20){
                System.out.println("您的体重过轻!您的BMI值为:"+bmi);
            }else if(bmi<25&&bmi>=20){
                System.out.println("您的体重适中!您的BMI值为:"+bmi);
            }else if(bmi<30&&bmi>=25){
                System.out.println("您的体重过重!您的BMI值为:"+bmi);
            }else if(bmi<35&&bmi>=30){
                System.out.println("您的体重肥胖!您的BMI值为:"+bmi);
            }else{
                System.out.println("您的体重非常肥胖!您的BMI值为:"+bmi);
            }
        }else if(sex.equals("女")){
            if(bmi<19){
                System.out.println("您的体重过轻!您的BMI值为:"+bmi);
            }else if(bmi<24&&bmi>=19){
                System.out.println("您的体重适中!您的BMI值为:"+bmi);
            }else if(bmi<29&&bmi>=24){
                System.out.println("您的体重过重!您的BMI值为:"+bmi);
            }else if(bmi<34&&bmi>=29){
                System.out.println("您的体重肥胖!您的BMI值为:"+bmi);
            }else if(bmi>=34){
                System.out.println("您的体重肥胖!您的BMI值为:"+bmi);
            }
        }else{
            System.out.print("你输入有误!");
        }   
}
}

运行的结果是:

从上面代码中,如果用户输入的不是男或女,则返回你输入有误。输入你的性别、身高(m)和体重(kg),再通过计算BMI值,然后判断您的人体的胖瘦程度。

二、HashSet集合

1.HashSet集合是Set接口的一个实现类,它存储的元素不可以是有重复的方法,而且元素也是无序的。如果给HashSet集合添加一个对象的时候,第一是调用对象的hashCode()方法来判断元素所在的存储位置,再用equals()方法调用这个位置的元素有没有重复的元素。

2.HashSet集合的用法

代码语言:javascript
复制
import java.util.HashSet;
import java.util.Iterator;

public class t6 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //创建HashSet集合
        HashSet hs=new HashSet();
        //向hs集合添加元素
        hs.add("aa");
        hs.add("bb");
        hs.add("cc");
        hs.add("dd");
        //获取Iterator对象
        Iterator it = hs.iterator();
        //通过循环,判断hs集合是否有元素
        while(it.hasNext()){
            String s=(String)it.next();
            System.out.println(s);
        }
}
}

运行的结果是:

三、如何把Student对象存入HashSet集合中?

代码语言:javascript
复制
import java.util.*;
//定义Student类
class Student{
private String id;
private String name;
public Student(String id,String name){
        this.id=id;
        this.name=name;
}
//重写toString()方法
public String toString(){
        return id+":"+name;
}
//重写hashCode()方法
public int hashCode(){
        return id.hashCode();
}
//重写equals()方法
public boolean equals(Object o){
        if(this==o){
            return true;
        }
        if(!(o instanceof Student)){
            return false;
        }
        Student s=(Student)o;
        boolean b=this.id.equals(s.id);
        return b;
}
}
public class t7 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        HashSet hs=new HashSet();//创建HashSet对象
        Student s1=new Student("1","张三");//Student对象
        Student s2=new Student("2","李四");
        Student s3=new Student("2","李四");
        Student s4=new Student("3","小王");
        Student s5=new Student("1","张三");
        hs.add(s1);
        hs.add(s2);
        hs.add(s3);
        hs.add(s4);
        hs.add(s5);
        System.out.println(hs);
}
}

运行的结果是:

从上面代码中,如果没有在Student类重写hashCode()方法和equals()方法的时候,会出现重复的元素。在hashCode()方法会返回它的id属性的值,在equals()方法中去比较对象的id属性是否有一样,然后返回一个结果。

四、总结

本文主要介绍了Java实现计算BMI值、HashSet集合、如何把Student对象存入HashSet集合中。这个BMI值主要是在国际上是用来衡量人体的胖瘦程度以及是否健康的一个标准。HashSet集合是Set接口的一个实现类,它存储的元素不可以是有重复的方法,而且元素也是无序的。把Student对象存入到hashSet中需要重写这个Student类的重写hashCode()方法和equals()方法,才不会出现重复的元素。通过本文的学习,希望对你有所帮助!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Java实现计算BMI值
  • 二、HashSet集合
  • 三、如何把Student对象存入HashSet集合中?
  • 四、总结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档