У меня есть две программы. Я создаю статический массив и некоторые методы, такие как следующие:вызов статического массива из другого класса
public Someclass{
static int counter[] = new int[n];
//methods & main
}
п определяется как некоторое число, так что я знаю, что это будет иметь некоторую длину. Я позже заполняю этот массив, и я тестирую его, чтобы убедиться, что он заполняется правильно, поэтому я знаю, что некоторые индексы должны иметь значения, отличные от 0. Теперь, когда я пытаюсь вызвать его во второй программе, это хотя я никогда не заполнял его, потому что он только дает мне 0's.
//second program
public Someclass2{
public static main(String[] args){
String n = "someword"
int[] nums = new int[n.length]
for(int i = 0; i < n.length; i++){
nums[i] = nums[i] + (25 * SomeClass.counter[i]);
}
}
}
По какой-то причине, когда я звоню массив во второй программе возвращает все нули и не изменяет значение Nums, хотя я знаю, что счетчик массив должен иметь ненулевые значения. Я думаю, что это связано с тем, что я инициализирую его статически, но я заполнил его локальным методом и в классе. Так что в техническом отношении он никогда не обновляется. У меня возникли проблемы с попыткой исправить это, и если кто-нибудь сможет помочь, я буду его одобрять.
Спасибо
Когда вы вызываете локальный метод в своем SomeClass, который модифицирует массив счетчиков? –
статические массивы инициализируются ко всем нулям. Вы не вкладываете в него значения. Если вы обработали значения.В вашем основном методе нет вызова. –