当前位置: 首页 > 知识库问答 >
问题:

在我的输出中只需要两个小数位

裴英锐
2023-03-14

如何获取小数点后仅两位数的双倍值。如果我的身高输入为72,体重为170,则收到的输出给出BMI=23.053626543209877。我不知道如何去掉.05后的尾随数字

import java.util.Scanner;
private static Scanner scanner;


public static void main(String[] args) {

    // Variables
    double height; 
    double weight; 
    double bmi; 

    Scanner keyboard = new Scanner(System.in);

    System.out.println("Please enter your height: ");
    height = keyboard.nextDouble();

    if(height<=0)
    {
        System.out.println("That's an invalid height.");
        return;
    }

    System.out.println("Please enter your weight: ");
    weight = keyboard.nextDouble();

    if(weight<=0)
    {
        System.out.println("That's an invalid weight.");
        return;
    }

    bmi =  calculateBMI(height, weight);


    System.out.println("BMI = " + bmi);

    System.out.println(bmiDescription(bmi));

    keyboard.close();
}


static double calculateBMI (double height, double weight) {
    return weight * 703 / (height * height);
}


static String bmiDescription (double bmi) {
    if (bmi < 18.5) {
        return "You are underweight.";
    } else {
        if (bmi > 25) {
            return "You are overweight.";
        } else {
            return "You are optimal.";
        }
    }
}

共有1个答案

李宁
2023-03-14

您可以将格式化的io与printf一起使用,例如

double bmi = 23.053626543209877;
System.out.printf("BMI = %.2f%n", bmi);

输出(我相信你想要的,甚至会执行四舍五入)

BMI = 23.05
 类似资料:
  • 编写一个程序,向用户询问一顿饭的费用,计算这顿饭的小费(18%),计算这顿饭的税收(8.25%),然后显示这顿饭的费用、这顿饭的小费金额、这顿饭的税收这顿饭,以及这顿饭的总数,这是成本、小费和税额的总和 这是我的密码: Python Shell上的输出: 输入餐费:19.95 成本:19.95 输入餐费:19.95 提示:3.59 输入餐费:19.95 税费:1.65 输入餐费:19.95 这可能

  • 我只需要小时,分钟和秒的倒计时,我在谷歌上搜索其他的js,但没有找到我要找的。 我不需要几天。

  • 我有一个非常奇怪的问题,很简单,但我不明白问题是什么。 我有一个类,ClassA调用ClassB中的函数,比如- 类A是在我的applicationContext中定义的bean。类xml ClassB中的函数定义看起来像 IntelliJ没有指出任何语法问题,一切看起来都很正常。。。然而,当我试图编译时,Maven出现了一个异常 B类与a类位于不同的模块中,因此B类位于a类的pom中。作为依赖项

  • 我尝试了上述命令的各种组合,但结果总是上面给出的错误消息。为什么会发生这样的事情--因为我是按照文档所说的去做的?

  • 我试图从特定的Dockerfile构建镜像,并同时标记它;我遵循的在线说明,但我得到以下错误: “docker build”只需要1个参数 这是我运行的命令: 我尝试了上述命令的各种组合,但结果总是上面给出的错误消息。为什么会发生这种情况——因为我在遵循留档所说的?

  • 问题内容: 我是否需要从HttpServletResponse“刷新”输出流? 我已经从看到了,应该关闭servlet输出流吗?我不需要关闭它,但是尚不清楚是否需要冲洗它。我也应该从容器中得到吗? 问题答案: 不用了 servletcontainer将为您刷新并关闭它。顺便说一句,关闭已经隐式调用了flush。 另请参阅Servlet 3.1规范的 5.6章: 关闭响应后,容器必须立即将响应缓冲区