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; 변수가 initailized되지 않을 수 있다는 경고를받는 이유가이 배열을 초기화하지 않았습니다. – Rahul
이렇게하면 'double [] arrayInDouble = new double [] {};' 그것은 문제를 해결하지만 arrayInString은 그것에 대해 불평하지 않습니다! – Joshua
@Joshua'arrayInString'을 사용할 때만'data.contains (",")'가 true이고,이 경우 사용하기 전에 초기화됩니다. 따라서 컴파일러는 사용하기 전에 해당 변수를 초기화해야합니다. 여기서 문제는'data.contains (",")'false 인 경우 초기화하지 않고'arrayInDouble'을 사용하고있는 것입니다 (그러나'arrayInString'을 사용하지 않을 것입니다.) 왜 그런 식으로 불평하지 않는가? 그 변수에 대해). –