Java-强制转换用户输入,其中包含整数和双精度数到数组中

时间:2019-04-02 12:07:44

标签: java

我是Java的新手。目前,我已经得到了使用用户输入的特定数字来转换3×4数组的问题,如下所示: 2.6 5.1 6 8 5.4 4.4 7 1 9.5 7.9 2 3

现在,我已经将它仅用于整数,并对其进行了结构化,因为我无法将用户的多个输入包裹在头上。

如果我仅使用整数(例如5而不是5.1,以及2而不是2.6等),我将得到以下信息:

    int row, col;
    int i, j;
    int data[][] = new int[4][3];


    col = 3;
    row = 4;

    Scanner scan = new Scanner(System.in);
    // enter array elements.
    System.out.println("Enter the provided Array Elements : ");
    //Works with integers as input only at the moment.

    for(i=0; i<row; i++)
    {
        for(j=0; j<col; j++)
        {
            data[i][j] = scan.nextInt();
        }
    }

我想要将用户的所有输入转换为double数据类型,然后将double数据类型转换为数组。

任何对如何投射它们的见解将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:3)

您无法像您可能期望的那样在Java中强制转换数组。例如,不允许您执行以下操作:

int[] i = new int[0];
double[] d = (double[]) i;

这意味着,您只需将数组声明为double []并将scan.nextInt()替换为scan.nextDouble()就可以了。