Пользовательский ввод Java -кастинга, который содержит оба целых числа и удваивается в массив

#java

#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();
        }
    }
  

Я хотел бы преобразовать весь пользовательский ввод для чтения как двойной тип данных и преобразовать двойные типы данных в массив.

Любая информация о том, как их использовать, была бы высоко оценена. Спасибо!

Комментарии:

1. почему бы вам не использовать scan.nextDouble() для чтения чисел с плавающей запятой. объявляйте все как double от массива до всех переменных

2. Используйте только double s, без int s.

3. 1. измените типы данных с int на double . 2. datat[i][j] = scan.nextDouble(); . это должно быть проще всего для вас

Ответ №1:

Вы не можете создавать массивы в Java, как вы, вероятно, ожидаете. Например, вам не разрешено выполнять следующие операции:

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

Это означает, что вам нужно объявить свой массив просто как double[] и заменить scan.nextInt() на scan.nextDouble() , и все.

Комментарии:

1. большое вам спасибо! Теперь это работает отлично. Я просто полностью упустил из виду объявление пользовательского ввода, и это было столь необходимым напоминанием для дальнейшего использования.