如何在Java中扫描点
在java中扫描点的可能方式是什么?我应该先读点x,然后读点y,还是可以同时读两个坐标如何在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
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();