如何使用一种方法来返回用户输入值的双精度数组?

问题描述 投票:0回答:3

我想创建一个返回用户输入值的双精度数组的方法。我已经弄清楚了如何创建一种方法来要求用户选择一个数组应该容纳多少个元素,然后将大小传递给下一个方法,即吐出用户输入值的双精度数组。

我的目标是练习学习如何使用基本方法(仅公共静态方法)来划分和解决当前的问题。

... java软件包array_exercises;导入java.util.Scanner;

公共类Array_Exercises {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    // Get number of elements to store values from the user
    int number = numOfElements();

    System.out.println(valueOfElements(number));

}

public static int numOfElements () {
    // Create a Scanner object to get the user's input
    Scanner input = new Scanner (System.in);

    // Get the input from the user
    System.out.print("Enter how many number of the type double do you want"
            + " to store in your array? ");

    return input.nextInt();
}

public static double[] valueOfElements (int num) {
    // Create a Scanner object to get the user's value for each element
    Scanner input = new Scanner (System.in);

    // Declare an array of doubles
    double[] double_array = new double[num];

    // Loop through the elements of double array
    for (int i = 0; i < double_array.length; i++) {
        System.out.print("Enter a value #" + (i + 1) + ": ");
        double_array[i] = input.nextDouble();
    }
    return double_array;
}

}

预期输出应在main方法中打印出double数组的所有值。

我只有这个:

运行:输入要存储在数组中的double类型的数量? 2输入值#1:1.234567输入值#2:2.345678[D @ 55f96302

为什么?我在这里做错了什么?我只是一个初学者,本学期我要学习Java课程,所以一切对我来说都是新鲜的。

java arrays static-methods
3个回答
2
投票

数组是java中的一个对象,因此可以通过调用其toString()方法进行打印。此方法对数组类不是很有帮助,并且不会显示数组内容。要打印数组内容,可以调用Arrays.toString(yourArray),它将返回数组内容的字符串表示形式。


0
投票

首先,您必须了解在Java中,数组变量是一个引用。这意味着当您尝试打印出数组变量时,它将打印出一个内存地址,而不是数组的元素。解决问题的方法是将函数的返回值保存到数组中,然后循环遍历数组中的每个元素。


-1
投票

您不能在阵列上使用System.out.println()。您应该首先在生成的数组上使用toString

© www.soinside.com 2019 - 2024. All rights reserved.