val可以在Java中用作变量吗?

时间:2016-02-09 19:55:20

标签: java printing

该计划是否合法?

我正在尝试纠正一个将打印3除以2的值的语句。

我知道这不正确。

System.out.print("The result is" + 3 / 2 + ".")

这是我的答案。

System.out.print("The result is" + val + ".")
double val = 3 / 2

我的回答是正确还是否定?如果没有,我该怎么称呼这个号码?

4 个答案:

答案 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;保留小数部分。因此,我的解决方案有效。