У меня проблема с областью действия в операторе if, по крайней мере, я почти уверен, что именно в этом моя ошибка, и я не уверен, как решить проблему (я довольно нов в программирование).
По сути, кажется, что если я объявляю что-то в операторе if, переменная (в данном случае массив структур) не существует вне оператора if. Однако мне действительно нужно, чтобы объявление массива находилось внутри if / else, поскольку размер массива зависит от N, так как я могу исправить эту ошибку?
Программа на Java, и я использую Eclipse. Любое понимание очень ценится.
//declare an int (used in determining array length)
int N = 4;
//declare instance of MyClass
MyClass myClass = new MyClass();
//declare and array, then initialize each struct in that array
if(N <= 26){
MyStruct array[] = new MyStruct[260];
for(int i = 0; i < array.length; i++){
array[i] = new MyStruct();
}
}
else{
MyStruct array[] = new MyStruct[N*10];
for(int i = 0; i < array.length; i++){
array[i] = new MyStruct();
}
//lots of other code goes here of stuff that needs to be done before myMethod can be called
//call a method in myClass that requires 'array' to be passed in
myClass.myMethod(array); // ERROR - ARRAY CANNOT BE RESOLVED TO BE A VARIABLE