Java - 帮助将英寸转换为cm,将重量转换为kg

时间:2015-11-24 16:50:49

标签: java

我正在做一个Java练习,我需要以英寸和厘米显示一个人的身高,以及它们的重量,以磅和公斤为单位。这是我想出的,但我得到了吨错误。

Height = 74; // inches
Weight = 180; // pounds

System.out.println( "He's " + Height + " inches or + (Height * 2.54) cm tall "." );

我通过谷歌搜索转换为英寸到厘米的2.54。我基本上对重量做了同样的事情(见下文)

System.out.println( "He's " + Weight + " pounds or + (Weight * 2.20) kg heavy "." ); 

我的目标是让它显示:

He's 74 inches (or 187.96 cm) tall. 
He's 180 pounds (or 81.6466266 kg) heavy.

任何帮助都会很棒,抱歉这个基本问题!

7 个答案:

答案 0 :(得分:4)

这里有一些明显的语法错误:

System.out.println( "He's " + Height + " inches or + (Height * 2.54) cm tall "." );

请注意此页面上的语法突出显示如何指出它们。 (你的IDE也应该这样做。)你在最后关闭一个字符串,然后有一个随机的.字符并打开另一个你永远不会关闭的字符串。

您可以通过删除引号修复语法错误:

System.out.println( "He's " + Height + " inches or + (Height * 2.54) cm tall ." );

但是,这还没有为您提供所需的输出。因为这只是一个字符串:

" inches or + (Height * 2.54) cm tall ."

Java不会执行该计算,就Java而言,这只是文本。您需要将字符串分开,就像您已经使用变量一样:

System.out.println( "He's " + Height + " inches or " + (Height * 2.54) + " cm tall." );

答案 1 :(得分:1)

您正在编写文本而不是变量的值:

System.out.println( "He's " + Height + " inches or + (Height * 2.54) cm tall "." );

将其更改为:

System.out.println( "He's " + Height + " inches or (" + (Height * 2.54) + " cm) tall.");

重量线也是如此:

System.out.println( "He's " + Weight + " pounds or + (Weight * 2.20) kg heavy "." );

应该是:

System.out.println( "He's " + Weight + " pounds or (" + (Weight * 2.20) + " kg) heavy."); 

请关注Java naming conventions

  

除变量外,所有实例,类和类常量都是小写的第一个字母。内部单词以大写字母开头。变量名不应以下划线_或美元符号$字符开头,即使两者都是允许的。

从上面:variable names should start with a lower case

您还应该阅读How to concatenate characters in Java

答案 2 :(得分:1)

这可能会回答你的问题,它有点模糊,所以我大多猜测。

System.out.println( "He's " + Height + " inches or (" + Height * 2.54 + ") cm tall." );

您格式化了println非常糟糕。对于后者,它是一样的,我建议看看它并自己解决这个问题。

此外,我不知道您为WeightHeight使用的衡量单位,我建议您为此方案使用double。如果您想要更高精度,则必须查看BigDecimal

通常,变量和字段用Java编写lowerCamelCase

答案 3 :(得分:1)

System.out.println( "He's " + Height + " inches or ("+ (Height * 2.54)+" ) cm tall." );

请记住,在连接文本之前必须进行转换(不带字符串引号)。不需要最后一个点。

答案 4 :(得分:1)

首先,您需要定义变量的数据类型。你不能拥有"身高",你需要拥有" int Height"。

如果您在各自的单位中设置高度和重量的变量,也会更容易。所以你应该有一个以英寸为单位的高度变量,然后是一个以厘米为单位的高度变量。

这是我的解决方案:

public static void main(String[] args) {
    int inHeight = 74;
    double cmHeight = inHeight * 2.54;
    int lbWeight = 180;
    double kgWeight = lbWeight / 2.2;

    System.out.println("He's " + inHeight + " inches (or " + cmHeight + " cm) tall.");
    System.out.println("He's " + lbWeight + " pounds (or " + kgWeight + " kg) heavy.");

}

注意:其中两个变量是双精度数,因此如果要将这些变量正确格式化为两位小数,则必须使用" printf"而不是" println"。

答案 5 :(得分:0)

试试这个:

System.out.println( "He's " + Height + " inches or " + (Height * 2.54) + " cm tall "." );

答案 6 :(得分:0)

Double Height = 74D; // inches
Double Weight = 180D; // pounds

System.out.println( "He's " + Height + " inches or " + (Height * 2.54)  + " cm tall "." );
System.out.println( "He's " + Weight + " pounds or " + (Weight * 2.20) + " kg heavy "." );