public static double[] processUserInput(String data) {
String[] arrayInString;
double[] arrayInDouble;
int length;
if(data.contains(",")) {
arrayInString = data.split(",");
length = arrayInString.length;
for(int i = 0; i < length; i++) {
arrayInDouble[i] = Double.parseDouble(arrayInString[i]);
}
}
return arrayInDouble;
}
Я использую Netbeans, и компилятор говорит, что переменная arrayInDouble
может и не быть инициализирована. Что это значит?Что означает «переменная не была инициализирована»?
String [] arrayInString; double [] arrayInDouble; Вы не инициализировали этот массив, «почему вы получаете предупреждение о том, что переменная не может быть инициализирована. – Rahul
, когда я делаю это 'double [] arrayInDouble = new double [] {};' он исправляет проблему, но arrayInString не жалуется на это ?! – Joshua
@Joshua Единственный раз, когда вы когда-либо использовали 'arrayInString', является то, что' data.contains (",") 'истинно, и в этом случае вы инициализируетесь перед использованием. Таким образом, компилятор может быть уверен, что вы инициализируете эту переменную перед использованием. Проблема заключается в том, что если 'data.contains (", ")' false, вы используете 'arrayInDouble' без инициализации (но вы не будете использовать' arrayInString', следовательно, почему он не жалуется таким образом об этой переменной). –