#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. большое вам спасибо! Теперь это работает отлично. Я просто полностью упустил из виду объявление пользовательского ввода, и это было столь необходимым напоминанием для дальнейшего использования.