2016-11-10 2 views
0

Я пытаюсь написать метод, который запрашивает у пользователя размер массива, а затем значение каждого значения индекса, которое будет проверяться в другом драйвере.Незаконный запуск ошибки выражения в массиве

Я продолжаю получать «ожидаемую» ошибку и ошибку «незаконный запуск выражения» в разделе double arr[i] и задавался вопросом, почему?

public void setArray(double[] arr) 
{ 
    int size = sc.nextInt(); 

    double[] array = new double[size]; 

    for(int i = 0; i < size; i++) 
    { 
     System.out.println("Enter value : "); 
     double arr[i] = sc.nextDouble();   //error here 
    }  
} 

Это то, что компилятор возвращает:

GolightlyScottArray.java:26: error: variable arr is already defined in method setArray(double[]) 
double[] arr = new double[size]; 
     ^
GolightlyScottArray.java:26: error: incompatible types: possible lossy conversion from double to int 
double[] arr = new double[size]; 
         ^
2 errors 
+0

Вы должны добавить языковой тег на свой вопрос, добавить дополнительную информацию о компиляторе/платформе и добавить полный вывод компилятора. Люди ответят на ваш вопрос. – baudsp

+0

Какова цель 'arr' vs' array'? – Keiwan

+0

В пределах вашего изменения цикла ** double arr = sc.nextDouble() ** для просто ** arr = sc.nextDouble() **. Но я не понимаю, почему вы объявляете ** массив **, а только заполняете ** arr ** – Bargros

ответ

0

Вы уже определили переменную «обр» в объявлении метода, так что вы не можете использовать его снова определить, что и вы делая слово double в начале строки. Удалите слово double и он обновит существующую переменную вместо того, чтобы пытаться создать новую.

+0

Это правда, но это не решает всех проблем. Вы должны были предположить, что по какой-то причине 'arr.length' является' size', когда он был передан функции. В противном случае вы получите «OutOfBoundsException» при выполнении. Кроме того, неясно, почему OP создает «массив», а затем никогда не использует его. – Keiwan

+0

Вы правы, здесь есть несколько вещей. Я предполагаю, что OP ищет помощь в его ошибке компиляции и впоследствии будет обновлять код, чтобы делать то, что ему нужно. Если им потребуется дополнительная помощь, они могут задать другой вопрос. –

+0

Благодарим вас за ввод, очень новый для Java и немного из моих глубин. Цените помощь. – Golightly

Смежные вопросы