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',因此它不會以這種方式抱怨關於那個變量)。 –