【发布时间】:2015-04-16 16:16:31
【问题描述】:
在java中扫描一个点的可能方法是什么?我应该先读 point.x 然后再读 point.y 还是可以同时读这两个坐标?
import java.awt.Point;
import java.util.Scanner;
public class Saleelo {
public static void main(String[] args) {
int n = 5;
Scanner scan = new Scanner(System.in);
Point[] Points = new Point[60];
for (int i=0 ; i < n ; i++) {
Points[i].x = scan.nextInt();
Points[i].y = scan.nextInt();
System.out.println(Points[i]);
}
}
}
这是我尝试过的,它给了我null pointer exception
【问题讨论】:
-
您希望用户如何输入积分?从定义上讲,这确实回答了您的第一个问题。您获得 NPE 的原因是新的永远不会创建
Point-Points[i] = new Point();并且数组被初始化为null。此外,请遵守 Java 命名约定,变量应位于camelCase。 -
不足为奇。你没有在
Points中初始化任何东西,所以Points[i].x可能会抛出你的空指针。