如何使用数组方法中的元素进入main?

时间:2018-02-04 09:16:27

标签: java arrays methods

我想在comNumber方法中使用数组ranNumber()的元素 但是当我在main()中使用它时,它只显示数组的地址。 我该如何解决这个问题?

public class BaseballGame {
    public static void main(String[] args) {
        BaseballGame bGame = new BaseballGame();
        System.out.println(bGame.ranNumber());


    }

    public int[] ranNumber() {
        Random rand = new Random();
        int[] comNumber = new int[3];
        for(int i=0; i<comNumber.length; i++) {
            comNumber[i] = rand.nextInt(10);
            for(int j=0; j<i; j++) {
                if (comNumber[i] == comNumber[j]) {
                    i--;
                    break;
                }
            }
        }
        return comNumber;
    }
}

2 个答案:

答案 0 :(得分:1)

如果你想使用它,就不要打印它。

int[] result  = bGame.ranNumber();

现在在主要方法中使用result

如果您想查看返回的内容,

System.out.println(Arrays.toString(result));
public static void main(String[] args) {
    BaseballGame bGame = new BaseballGame();
    int[] result  = bGame.ranNumber();
    System.out.println(Arrays.toString(result));
}

答案 1 :(得分:0)

bGame.ranNumber()将返回int[],数组是java中的对象。因此,调用System.out.println(bGame.ranNumber())将调用数组的toString方法。类Object中的toString的默认实现将打印该地址。这就是你获得该数组的地址而不是数组中的真实元素的原因。

如果你想看到你应该做的真实元素:

int[] result = bGame.ranNumber();
for(int i=0; i < result.length; i++){
    System.out.println(result[i]);
}

System.out.println(java.util.Arrays.toString(result));