在java中打印2d坐标数组

时间:2016-04-22 22:25:51

标签: java arrays

我正在尝试使用嵌套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();
            }

    }

1 个答案:

答案 0 :(得分:1)

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

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

在你的循环中:

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