繁体   English   中英

在java中打印一个二维坐标数组

[英]Printing a 2d array of coordinates in java

我正在尝试使用嵌套的 for 循环以及我在 MyPoint 类中创建的getX()getY()方法打印我在 Lab12 类中创建的数组。 但是我的循环只是给了我参考。 我如何获得要打印的值

pt[0][0] = (0.5, 1.2)

pt[0][1] = (0.0, 3.14)

pt[0][2] = (15.0, 27.5)

pt[1][0] = (6.6, 7.7)


pt[1][1] = (1.2, 2.1)

pt[1][2] = (12.0, 127.0)
public class MyPoint {

    private double x;
    private double y;


    public MyPoint(double x, double y) {
        this.x = x;
        this.y = y;
    }

    public double getX() {
        return x;
    }

    public double getY() {
        return y;
    }

}
public class Lab12 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    MyPoint [][]pointMatrix = {
                {new MyPoint(0.5,1.2), new MyPoint(0.0,3.14), new MyPoint(15.0,27.5)}, 
                {new MyPoint(6.6,7.7), new MyPoint(1.2,2.1), new MyPoint(12.0,127.0)}
            };

        for (int i=0; i<pointMatrix.length; i++) {
              for (int j=0; j<pointMatrix[i].length; j++){
                System.out.print(pointMatrix[i][j] + " ");
              }
              System.out.println();
            }

    }

正如@Lashane 提到的,最好的选择是实现toString()方法:

public class MyPoint {
    // ...
    @Override
    public String toString() {
        return "(" + x + ", " + y + ")";
    }
}

在你的循环中:

System.out.println("pt[" + i + "][" + j + "] = " + pointMatrix[i][j]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM