为什么这个教科书程序不能识别我的Point2D对象?

时间:2015-03-13 20:54:08

标签: java class object compiler-errors

我正在关注的教科书中提供了以下程序。它应该使用Point2D类计算两个坐标(x1,y1)和(x2,y2)之间的距离:

import java.util.Scanner;
import javafx.geometry.Point2D;

public class TestPoint2D {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter point1's x-, y-coordinates");
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        System.out.print("Enter point2's x-, y coordinates");
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();

        Point2D p1 = new Point2D(x1, y2);
        Point2D p2 = new Point2D(x2, y2);
        System.out.println("p1 is " + p1.toString());
        System.out.println("p2 is " + p2.toString());
        System.out.println("The distance between p1 and p2 is " +
            p1.distance(p2));
    }
}

我已经多次查看了它,并确保它被正确复制。当我尝试在终端中编译程序时,收到以下错误消息:

import javafx.geometry.Point2D;
                      ^
TestPoint2D.java:15: error: cannot find symbol
        Point2D p1 = new Point2D(x1, y2);
        ^
  symbol:   class Point2D
  location: class TestPoint2D
TestPoint2D.java:15: error: cannot find symbol
        Point2D p1 = new Point2D(x1, y2);
                         ^
  symbol:   class Point2D
  location: class TestPoint2D
TestPoint2D.java:16: error: cannot find symbol
        Point2D p2 = new Point2D(x2, y2);
        ^
  symbol:   class Point2D
  location: class TestPoint2D
TestPoint2D.java:16: error: cannot find symbol
        Point2D p2 = new Point2D(x2, y2);
                         ^
  symbol:   class Point2D
  location: class TestPoint2D
5 errors

为什么程序不能识别新的Point2D对象?

1 个答案:

答案 0 :(得分:2)

你缺少的是JavaFX运行时jar的jar,请参考SO上的这个问题 What's the location of the JavaFX runtime JAR file, jfxrt.jar, on Linux?

它提供了有关Java 7和8中jfxrt.jar位置的详细说明。

希望这会有所帮助!!