如何在Java中扫描点

如何在Java中扫描点,java,point,Java,Point,在java中扫描点的可能方式是什么?我应该先读点x,然后读点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

在java中扫描点的可能方式是什么?我应该先读点x,然后读点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]);
        }   
    }
}
导入java.awt.Point;
导入java.util.Scanner;
公共级Saleelo{
公共静态void main(字符串[]args){
int n=5;
扫描仪扫描=新扫描仪(System.in);
点[]点=新点[60];
对于(int i=0;i

这就是我所尝试的,它给了我
空指针异常

在尝试为每个数组元素赋值之前实例化每个数组元素

for (int i=0 ; i < points.length ; i++) {
    points[i] = new Point();
    ...
for(int i=0;i

数组仅用您将使用的5个元素初始化时

您希望用户如何输入点?这从定义上真正回答了您的第一个问题。您获得NPE的原因是new从不创建
-
点[i]=new Point()
;数组被初始化为
null
。此外,请遵守Java命名约定,变量应该在
camelCase
中。这并不奇怪。您没有在
点中初始化任何内容,所以
点[i].x
可能抛出了空指针。我想补充一点,创建
点[60]没有意义
如果长度已经固定为5。向上投票。非常感谢这项工作:)@Jean-François Savard:创建数组没有任何意义…@Holger当然只为
println
而设,但我相信这是一个简化的片段。@Jean-François Savard:在这是一个简化示例的前提下,t可能有一个用途他还创建了其他55个数组项。为了给答案添加一些内容,我建议在构造时初始化值,即
points[I]=new Point(scan.nextInt(),scan.nextInt());
而不是使用
points[I]=new Point();points[I].x=scan.nextInt();points[I].y=scan.nextInt();