该计划是否合法?
我正在尝试纠正一个将打印3除以2的值的语句。
我知道这不正确。
System.out.print("The result is" + 3 / 2 + ".")
这是我的答案。
System.out.print("The result is" + val + ".")
double val = 3 / 2
我的回答是正确还是否定?如果没有,我该怎么称呼这个号码?
答案 0 :(得分:3)
您可以执行以下操作
double val = 3.0 / 2;
System.out.print("The result is" + val + ".");
值val
必须在打印前声明。此外,您需要输入double
类型中的一个,因此在完成除法时,答案也是double
。否则你会失去精确度。
以下内容也有效:
double val = 3 / 2.0;
System.out.print("The result is" + val + ".");
如果你做double val = 3 / 2;
那么3/2
除法是由两个整数组成的,这两个整数也给出了另一个整数。因此3/2
应该提供1.5
,但由于我们只是潜水整数,因此会省略.5
而只会给1
。然后,1
被投放为double
并变为1.0
。
答案 1 :(得分:0)
你所拥有的大部分是正确的:
float val1 = 3;
float val2 = 2;
float val= val1/val2;
System.out.println("The result is " + val + ".");
记住你的分号。 另外......你使用双(或浮动)是正确的。因为否则您的答案将被截断。
编辑: 实际上......我发现尝试一次性操作仍然会截断答案。除非两个值都设置为浮点数,否则它不正确。然后,运行数学。
以下是证据:online java compiler
答案 2 :(得分:0)
您需要先声明变量。如果你想要分数,你需要用它们来做。需要" ; "在每个声明的最后。如果你在eclipse中尝试它,当你不在需要的地方写它时,它会给你输错。
float num1 = 3;
float num2 = 2;
float val = num1 / num2;
System.out.print("The result is" + val + ".");
// Another way:
double num1 = 3;
double num2 = 2;
double val = num1 / num2;
System.out.print("The result is" + val + ".");
答案 3 :(得分:-1)
这应该有效:
double val = 3.0 / 2;
System.out.print("The result is" + val + ".");
编辑: 这是整数除法的情况。当在两个整数(此处为3和2)之间执行除法时,输出为整数,小数部分将被删除。因此,3/2将产生1,因为您分配给双变量,因此变为1.0。 当我做3.0 / 2时,3.0是双倍值。这里的输出也是双倍值,即1.5;保留小数部分。因此,我的解决方案有效。