gpt4 book ai didi

java - 数组元素的值始终为零

转载 作者:行者123 更新时间:2023-11-29 09:54:40 25 4
gpt4 key购买 nike

public int X1[]=new int[1001];
public int X2[]=new int[1001];
public int Xj;
public double R[]=new double[1001];

public double[] Generate(int seed1,int seed2)
{
X1[0]=seed1;
X2[0]=seed2;

for(int j=0;j<2;j++)
{
X1[j+1]=(40014*X1[j])%(2147483563);
X2[j+1]=(40629*X2[j])%2147483399;
System.out.println(X1[j+1]+" "+X2[j+1]);
Xj=Math.abs(X1[j+1]-X2[j+1]);
Xj=Xj%2147483562;
System.out.println(Xj+" "+j);
if(Xj>0)
{ R[j]=Xj/2147483563;}

else if(Xj==0)
{ R[j]=2147483562/2147483563;}


System.out.println(R[j]+" "+j);

}

在上面的代码中,当我尝试打印 R[] 的元素时,它只打印 0。有人能告诉我哪里出了问题吗?我已经将 out.println 语句作为调试代码的一种方式。但是它们打印所需的值。

最佳答案

这是因为您正在执行整数除法。例如,更改此:

Xj/2147483563

...为此:

Xj/2147483563.0

对所有其他部门执行相同的操作。请注意,在 Java 中,int/int 将始终返回一个 int。要获得带小数的结果,两个操作数之一(或两者)必须是十进制数。

关于java - 数组元素的值始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com