我正在尝试编写一个将公斤转换为磅和盎司的程序。如果用户输入100公斤,我期望的结果是220磅和7.4盎司。

我得到了正确的磅值,但是我的问题是得到了正确的盎司值。我不知道我在想什么。同样,当我计算盎司值时,如何向程序指定只希望百分位数的答案。例如,我只想要7.4盎司而不是7.4353?

import acm.program.*;
public class KilogramsToPoundsAndOunces extends ConsoleProgram {
public void run() {

    println("This program converts Kilograms into Pounds and Ounces.");

    int kilo = readInt("please enter a number in kilograms: ");

    double lbs = kilo * POUNDS_PER_KILOGRAM;

    double oz = lbs * OUNCES_PER_POUND;

    double endPounds = (int) oz / OUNCES_PER_POUND;

    double endOunces =  oz - (endPounds * OUNCES_PER_POUND);

    println( endPounds + " lbs " + endOunces + "ozs");




}
private static final double POUNDS_PER_KILOGRAM = 2.2;
private static final int OUNCES_PER_POUND = 16;
}

最佳答案

最简单的方法是使用System.out.printf并在那里格式化输出:

System.out.printf("%d lbs %.1f ozs", endPounds, endOunces);


如果不能使用System.out.printf,则仍然可以使用String#format格式化输出:

println(String.format("%d lbs %.1f ozs", endPounds, endOunces));

关于java - 千克到磅和盎司,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13282882/

10-10 22:57