Java 生成随机数时的NullPointerException
我在第14行得到一个NullPointerException,它说:Java 生成随机数时的NullPointerException,java,random,nullpointerexception,Java,Random,Nullpointerexception,我在第14行得到一个NullPointerException,它说: points[i].x = new Random().nextInt(30); 我的完整代码: import java.util.Random; public class RandomPoints { public class Point { public int x; public int y; } public static void main(String
points[i].x = new Random().nextInt(30);
我的完整代码:
import java.util.Random;
public class RandomPoints {
public class Point {
public int x;
public int y;
}
public static void main(String[] args) {
Point[] points = new Point[100];
for(int i = 0; i < points.length; i++) {
points[i].x = new Random().nextInt(30);
points[i].y = new Random().nextInt(30);
System.out.println(points[i].x + " " + points[i].y);
}
}
}
import java.util.Random;
公共类随机点{
公共课点{
公共int x;
公共智力;
}
公共静态void main(字符串[]args){
点[]点=新点[100];
对于(int i=0;i
当你说点[]点=新点[100]
它只为100
点
引用分配有空间的数组(它不分配任何点
实例)。您需要为索引分配一个实例,然后才能访问它,例如
Point[] points = new Point[100];
for(int i = 0; i < points.length; i++) {
points[i] = new Point(); //<-- like so.
否则,您将在每次迭代中重新设定种子(两次)。这意味着你的数字不会很随机
Random rand = new Random();