编译异常说需要“;”

编译错误说需要“;”
本帖最后由 Faith_Venice 于 2015-09-29 20:01:07 编辑
编译异常说需要“;”编译异常说需要“;”
编译异常说需要“;”

有一个class类,然后创建了一个对象数组,
怎么编译产生了错误啊?
------解决思路----------------------

Scanner point[i].x = new Scanner(System.in);
Scanner point[i].y = new Scanner(System.in);

在你的这两行代码中其实存在几个错误.
a. point[i].x 和 point[i].y实际上是double并不是Scanner.
b. point[i]是你新建的一个数组,默认是null.所以是没办法对其x,y进行赋值的.
所以在编译的时候系统会认为point是一个Scanner,所以才提示你需要加";"
下面的代码可能是你想要实现的效果吧.

package ricky;

import java.util.*;

class Point{
double x;
double y;

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

Point(double x,double y){
this.x = x;
this.y = y;
}
void print(){
System.out.println("("+x+","+y+").");

}
}
public class Test {
public static void main(String[] args){
System.out.println("请输入点的个数:");
int i = new Scanner(System.in).nextInt();
Point[] points = new Point[i];
for(int n=0;n<points.length;n++){
double x,y;
System.out.println("请输入Point["+n+"]的x坐标");

x=new Scanner(System.in).nextDouble();
System.out.println("请输入Point["+n+"]的y坐标");

y=new Scanner(System.in).nextDouble();
points[n] = new Point(x,y);
}
for(int n=0;n<i;n++){
points[n].print();
}
}
}


编译异常说需要“;”七八年没接触java了,只是今天突然有兴趣上来论坛看看.如果有什么觉得写得不好的多包涵.呵呵