gpt4 book ai didi

java - 如何修复java中的dispatchUncugthException

转载 作者:行者123 更新时间:2023-12-02 01:15:26 25 4
gpt4 key购买 nike

我试图生成一个包含随机数的数组,但它仍然显示 dispatchUncaughtException。我对java完全陌生,有人可以帮我解决这个问题吗?

我编写的代码如下:

public class FindfreieGroundwaterlevel {

public static void main(String[] args) {
double[] groundwaterDistance = {-0.01,1.2,0,4.5,6.3,8.2,0,-1.7,2.1,0};
int [] index = new int [groundwaterDistance.length];
int zero = 0;
for (int n = 0; n < groundwaterDistance.length; n++ ) {
if (groundwaterDistance[n] == 0) {
index[n] = n;
}else{
index[n] = 0;
zero++;
}
}
int[] newindex = new int[index.length - zero];
int j = 0;
for(int m : index) {
if( m!= 0 ) {
newindex[j] = m;
j++;
}
}
for (int i: newindex) {
System.out.println(i);
}

Random generator = new Random(10);
Coordinate[] position = new Coordinate[20];
for (int i = 0; i <position.length; i++) {
position[i].x = generator.nextDouble();
System.out.println("x :" + position[i].x);
position[i].y = generator.nextDouble();
System.out.println("y :" + position[i].y);
position[i].z = generator.nextDouble();
System.out.println("z :" + position[i].z);
}
}
}

另一个名为 Coordiante 的类是:

public class Coordinate {
public double x;
public double y;
public double z;
}

这是我得到的异常的图像:

Exception image

最佳答案

您的调试器在异常处停止,因此您没有收到异常消息。如果继续执行,您会看到出现 NullPointerException。这是因为您创建了一个空的 Cooperative[],然后尝试将值分配给 null 元素。

您需要在数组中创建一个new Cooperative()。如果您创建一个采用 x、y、z 值的构造函数,则可能很简单

for (int i = 0; i <position.length; i++) {
position[i] = new Coordinate(generator.nextDouble(), generator.nextDouble(), generator.nextDouble());
}

如果您不知道如何使用构造函数,请开始阅读basic tutorial 。要在没有正确的构造函数的情况下继续,以下代码执行相同的操作

for (int i = 0; i <position.length; i++) {
position[i] = new Coordinate();
position[i].x = generator.nextDouble();
position[i].y = generator.nextDouble();
position[i].z = generator.nextDouble();
}

关于java - 如何修复java中的dispatchUncugthException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58692565/

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