我正在做一个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.
任何帮助都会很棒,抱歉这个基本问题!
答案 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.");
除变量外,所有实例,类和类常量都是小写的第一个字母。内部单词以大写字母开头。变量名不应以下划线_或美元符号$字符开头,即使两者都是允许的。
从上面:variable names should start with a lower case
答案 2 :(得分:1)
这可能会回答你的问题,它有点模糊,所以我大多猜测。
System.out.println( "He's " + Height + " inches or (" + Height * 2.54 + ") cm tall." );
您格式化了println
非常糟糕。对于后者,它是一样的,我建议看看它并自己解决这个问题。
此外,我不知道您为Weight
和Height
使用的衡量单位,我建议您为此方案使用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 "." );