2015-10-27 54 views
3

所以我想输入点的两个坐标到数组中。对不起,如果这是离开,我很困惑。将值输入到点数组中?

//create array of 100 coordinate points 
//Excerpt from Main 

Point[] A = new Point[100]; 


Scanner in = new Scanner(System.in); 

System.out.println("Enter index: "); 

int i = in.nextInt(); //validate 

System.out.print("Enter integers x, y to replace: "); 

A[i].input(in); 

...

public class Point { 

    int x, y; 

    Point(int x, int y) { 
    throw new UnsupportedOperationException("Not supported yet."); 
    } 

    void input(Scanner sc){ 
    x = in.nextInt(); 
    y = in.nextInt(); 
    } 
} 

回答

1

A[i].input(in);无效语法。您必须将新的Point对象添加到阵列中。为了做到这一点,您必须从用户那里获得足够的信息来创建一个Point对象。

你想做些什么更接近这一点:对于Point

//create array of 100 coordinate points 

Point[] A = new Point[100]; 


Scanner in = new Scanner(System.in); 

System.out.println("Enter index: "); 

int i = in.nextInt(); //validate 

System.out.print("Enter integers x, y to replace: "); 

int x = in.nextInt(); 
int y = in.nextInt(); 

a[i] = new Point(x, y); 

在你的构造函数时,抛出一个错误。删除你抛出错误的那一行,而是用它来分配这个值。

... 
Point(int x, int y) { 
    this.x = x; 
    this.y = y; 
} 
... 
+0

感谢您的回复,但我仍然迷失。我收到了错误“线程中的异常”main“java.lang.UnsupportedOperationException”,我更新了帖子以添加我的Point.java。 – Joe123

+0

没关系,我想我明白了。谢谢 – Joe123