Java 在循环中添加双变量
我用C#编写了一个程序,这次我必须用java编写,当我尝试加减一个简单的数字时,比如:Java 在循环中添加双变量,java,double,bigdecimal,Java,Double,Bigdecimal,我用C#编写了一个程序,这次我必须用java编写,当我尝试加减一个简单的数字时,比如: double array1 = new double array1[200]; double array2 = new double array2[200]; for (int var = 1; var < 200; var++) { array1[var] = Math.Round(array1[var] + 0.005,3); arra
double array1 = new double array1[200];
double array2 = new double array2[200];
for (int var = 1; var < 200; var++)
{
array1[var] = Math.Round(array1[var] + 0.005,3);
array2[var] = Math.Round(1 - array1[var],3);
}
当我尝试使用java时,我使用了下面的代码:
double array1 = new double[200];
double array2 = new double[200];
for (int var = 1; var < 200; var++)
{
array1[var] = (array1[var] + 0.005);
array2[var] = (1 - array1[var]);
}
double array1=新的双精度[200];
双数组2=新的双数组[200];
对于(int-var=1;var<200;var++)
{
阵列1[var]=(阵列1[var]+0.005);
array2[var]=(1-array1[var]);
}
输出是一样的,在6个1之后,由于双精度的不精确性,它开始带来不同的结果,我尝试使用BigDecimal,但我仍然不知道它是如何工作的,或者如何在数组中添加结果。无意冒犯,但您必须认真学习java 101。。。 第一 这简直是违法的。。我不知道它是如何编译的,更不用说给出同样的结果了 您正在将数组分配给基元。。。严重错误 第二 这是另一个 除非
array1
是一个类名(尽管名称不好),否则你不能有array1[200]
查看一些基本的java教程,然后到期。。祝你好运……) 精度用大十进制术语“刻度”(setScale)表示。但是,如果精度为3,为什么不使用
long
填充双精度值*1000,四舍五入。什么是(array1[var]+0.005,3)
呢?这不是有效的代码。(你不是在调用一个方法。)第一个代码是用C#编码的,数学循环使结果只在小数点后出现特定的数字,在这个例子中,在总和之后我只需要小数点后的3位数字听起来像是家庭作业,如果是,请这样标记。@JUAN:你错过了我的要点。第二个代码段完全无效。如果你不给我们你正在运行的实际代码,我们怎么能帮助你呢?看看解释中的错误,这不是家庭作业,这是我工作的一部分,但我是java新手,我在C#方面有更多的经验,这部分我没有预料到,只是在我写问题时出现了一些错误,这仍然不是我需要回答的部分,你说这只是基本问题,但不是我要解释的问题
double array1 = new double[200];
double array2 = new double[200];
for (int var = 1; var < 200; var++)
{
array1[var] = (array1[var] + 0.005);
array2[var] = (1 - array1[var]);
}
double array1 = new array1[200];
new array1[200];