首页 > 解决方案 > 显示数组的值。获取奇怪的值

问题描述

我想制作 k 个 TockaXY 类型的随机点。TockaXY 定义为:

 public static class TockaXY {

      private float x;
      private float y;

      public TockaXY(float x, float y) { 
          this.x = x;
          this.y = y;  
      }

函数是这样的:

 public static TockaXY[] randomCentri(int k, int lowerBound, int upperBound) {
       TockaXY[] arrayCentri = new TockaXY[k];
          for (int i = 0; i < k; i++) {
              float x = (float)(Math.random() * (upperBound - lowerBound) + lowerBound)/100;
              float y = (float)(Math.random() * (upperBound - lowerBound) + lowerBound)/100;
              TockaXY point = new TockaXY(x, y);
              arrayCentri[i]=point;
          }
          System.out.println(" Random centri: " + arrayCentri);
          return arrayCentri;

      }

但我得到:

Random centri: [LTest$TockaXY;@6ce253f1

我究竟做错了什么?

标签: javaarraysfor-loop

解决方案


现在,您只能看到指针的表示。Java 内部会在 .toString() 上调用 .toString() String + Object

在您的类中实现一个 toString() 方法TockaXY并遍历数组,将数组的每个条目转换为字符串。


推荐阅读