java BoundingBox显示

时间:2015-05-08 00:29:19

标签: java bounding-box

我是java编程的初学者。我的应用程序应打印所有点,宽度,高度以及最大和最小点。我不知道为什么打印的点看起来像是显示的:

[Point@659e0bfd, Point@2a139a55, Point@15db9742, Point@6d06d69c, Point@7852e922, Point@4e25154f, Point@70dea4e, Point@5c647e05, Point@33909752, Point@55f96302

The max point is: (Point@3d4eac69).
The min point is: (Point@42a57993).

你能给我一些建议吗?

以下是代码:

public class Point {
    private double x;
    private double y;

public Point(double xnew, double ynew) {
    x = xnew;
    y = ynew;
}

public double getX() {
    return x;
}

public void setX(double xnew) {
    x = xnew;
}

public double getY() {
    return y;
}

public void setY(double ynew) {
    y = ynew;
}

}

的BoundingBox

import java.util.List;

public class BoundingBox {

private static Point minPoint;
private static Point maxPoint;

public BoundingBox(List<Point> manyPoints) {
    double minX = manyPoints.get(0).getX();
    double maxX = manyPoints.get(0).getX();
    double minY = manyPoints.get(0).getY();
    double maxY = manyPoints.get(0).getY();

    for (int i = 0; i < manyPoints.size(); i++) {
        Point test = manyPoints.get(i);
        test.getX();

        if (test.getX() < minX) {
            minX = test.getX();

        }

        if (test.getX() > maxX) {
            maxX = test.getX();
        }

        if (test.getY() < minY) {
            minY = test.getY();

        }

        if (test.getY() > maxY) {
            maxY = test.getY();

        }

        minPoint = new Point(minX, minY);
        maxPoint = new Point(maxX, maxY);

    }
}

public static double width() {

    double a = (maxPoint.getX() - minPoint.getX());
    return a;
}

public static double height() {
    System.out.println("minPoint = " + minPoint);
    System.out.println("maxPoint = " + maxPoint);
    double b = (maxPoint.getY() - minPoint.getY());
    return b;
}

public Point getMaxPoint() {
    return maxPoint;
}

public Point getMinPoint() {
    return minPoint;
}

}

应用

import java.util.ArrayList;
import java.util.List;

public class App {
public static void main(String[] args) {
    Point p1 = new Point(10.681,-48.857);
    Point p2 = new Point(96.980,20.724);
    Point p3 = new Point(66.647,-66.558);
    Point p4 = new Point(-2.674,-58.571);
    Point p5 = new Point(40.11,-12.342);
    Point p6 = new Point(27.782,46.809);
    Point p7 = new Point(54.759,-46.709);
    Point p8 = new Point(-33.89,-90.787);
    Point p9 = new Point(15.84,-67.553);
    Point p10 = new Point(19.481,51.331);


    List<Point> list1 = new ArrayList<Point>(); // Create ArrayList and add Points
    list1.add(p1);
    list1.add(p2);
    list1.add(p3);
    list1.add(p4);
    list1.add(p5);
    list1.add(p6);
    list1.add(p7);
    list1.add(p8);
    list1.add(p9);
    list1.add(p10);



    double c = BoundingBox.height();
    double d = BoundingBox.width();

    System.out.println("The Points + list1 );
    System.out.println("Height: " + c + " Width: " + d + "\n" );    
    System.out.println("max Point: (" + BoundingBox.getMaxPoint() +")." );
    System.out.println("min Point (" + BoundingBox.getMinPoint() +")." );   
    }
}

0 个答案:

没有答案
相关问题