当前位置: 首页 > 面试题库 >

在Java中将两个整数除以double

蒙墨竹
2023-03-14
问题内容

我可以看到这对于新程序员来说是一个普遍的问题,但是我没有成功实现我的代码的任何解决方案。基本上,我想将w和v除,必须将其保存到double变量中。但它打印[0.0,0.0,…,0.0]

public static double density(int[] w, int[] v){
double d = 0;
    for(L = 0; L < w.length; L++){
        d = w[L]  /v[L];
    }
    return d;
}

问题答案:

此行分d = w[L] /v[L];几步进行

d = (int)w[L]  / (int)v[L]
d=(int)(w[L]/v[L])            //the integer result is calculated
d=(double)(int)(w[L]/v[L])    //the integer result is cast to double

换句话说,精度在转换为两倍之前已经消失了,您需要先转换为两倍,所以

d = ((double)w[L])  / (int)v[L];

这迫使Java在整个过程中都使用double数学,而不是使用整数数学,然后在最后转换为double



 类似资料:
  • 我正在进行一个实验,在这个实验中,我们偶尔需要将小数字除以大数字,例如:4/90000。使用double可生成4.444e。我希望BigDecimal可以处理这个算法,并给我一个有意义的小数,但我的实现抛出了一个错误: 错误是: 更新:我对精度至少有3位小数很感兴趣。

  • 我写了一个代码,在两个数相除后求出商,但不使用乘法、除法或mod运算符。 我的代码 我的代码通过了像分红=-1、除数=1或分红=1和除数=-1这样的测试用例。但是它不能通过像分红=--2147483648和除数=-1这样的测试用例。但是当两个输入都是负数时,我有一个if语句。 当我的输入为-2147483648和-1时,它返回零。我调试了代码,发现它无法到达while循环的内部语句。它只是检查wh

  • 问题内容: 为什么总是返回值0.0?我也想将其a格式化为00.00格式并转换为字符串吗? 问题答案: 因为转换为浮点数是在除法完成后发生的。你需要: 你应该可以使用以下格式进行格式化:

  • 问题内容: 我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。 问题答案: 代替 您需要调用merge方法,并将结果分配给数组,例如: 您的for循环也应该是:

  • 问题内容: 如何在Java中以两位数字格式存储整数?我可以设置 并打印为?另外,我要说,不仅打印,还应该将其值打印为。 问题答案: 我认为这是您要寻找的: 或者,更简单地说: 一个int仅存储一个数量,而01和1表示相同的数量,因此它们以相同的方式存储。 DecimalFormat构建一个以特定格式表示数量的字符串。

  • 问题内容: 我正在尝试编写代码以比较两个数组。在第一个数组中,我输入了自己的数字,但是在第二个数组中,输入了输入文件中的数字。该数组的大小由文件中的第一个数字确定,而第一个数组的大小始终为10。两个数组以及数字的长度必须相同。 我的代码如下: 问题答案: