lemsca 2023-04-03 22:02 采纳率: 71.4%
浏览 19
已结题

关于#java#的问题:如果这个程序中public String show()改为了public void show()该如何更改使它正确呢


import java.util.Scanner;
 
class BMI {
    private double height;
    private double weight;
 
    public BMI(double height, double weight) {
        super();
        this.height = height;
        this.weight = weight;
    }
 
    public double getBMI() {
        return weight / (height * height);
    }
 
    public String assessBMI(double bmi) {
        String s = new String();
        if (bmi < 18.5) {
            s = "Low weight";
        } else if (bmi >= 18.5 && bmi < 24) {
            s = "Normal weight";
        } else if (bmi >= 24 && bmi < 28) {
            s = "Overweight";
        } else {
            s = "Fat or Obesity";
        }
        return s;
    }
 
    public String show() {
        return assessBMI(getBMI());
    }
}
    public class TestBMI {
    public static void main(String args[])
    {
Scanner sc=new Scanner (System.in);
System.out.printf("Please enter height(m):\n");
double height=sc.nextDouble();
System.out.printf("Please enter weight(kg):\n");
double weight=sc.nextDouble();
BMI s1=new BMI(height,weight);
System.out.printf("height %.3f, weight %.3f kg,",height,weight);
System.out.printf("BMI is %.3f,%s",s1.getBMI(),s1.show());
sc.close();
}
}

如果这个程序中public String show()改为了public void show()该如何更改使它正确呢

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-04-03 22:20
    关注

    修改如下:

    /**
     * @author huazie
     * @version 2.0.0
     * @since 2.0.0
     */
    
    import java.util.Scanner;
    
    class BMI {
        private double height;
        private double weight;
    
        public BMI(double height, double weight) {
            super();
            this.height = height;
            this.weight = weight;
        }
    
        public double getBMI() {
            return weight / (height * height);
        }
    
        public String assessBMI(double bmi) {
            String s;
            if (bmi < 18.5) {
                s = "Low weight";
            } else if (bmi >= 18.5 && bmi < 24) {
                s = "Normal weight";
            } else if (bmi >= 24 && bmi < 28) {
                s = "Overweight";
            } else {
                s = "Fat or Obesity";
            }
            return s;
        }
    
        public void show() {
            System.out.printf("%s",assessBMI(getBMI()));
        }
    }
    
    public class TestBMI {
        public static void main(String args[]) {
            Scanner sc = new Scanner(System.in);
            System.out.printf("Please enter height(m):\n");
            double height = sc.nextDouble();
            System.out.printf("Please enter weight(kg):\n");
            double weight = sc.nextDouble();
            BMI s1 = new BMI(height, weight);
            System.out.printf("height %.3f, weight %.3f kg,", height, weight);
            System.out.printf("BMI is %.3f,", s1.getBMI());
            s1.show();
            sc.close();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月10日
  • 已采纳回答 4月4日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题