Мой массив должен быть передан функции, но моя программа имеет ошибку и не компилируется. Что я делаю не так?Ошибка передачи массива в функцию. Он не может скомпилировать
- Я получаю ошибку в строке 13: "a1e.averData (баллы, MAX_SIZE);"
- Состояния ошибки, «не-статические переменные оценки не могут ссылаться из статический контекст. Присвоить Возвращаемое значение для новой переменной»
- Я также попытался назначить возвращаемое значение новой переменной. Это выглядело так: «float averData = a1e.averData (оценки, MAX_SIZE);»
- Ошибка была изменена на следующее: «Нестатические переменные не могут ссылаться на статический контекст. Нестатическая переменная MAX_SIZE не может ссылаться на статический контекст»
- Я попытался переместить его из основного в другие места в программе, но он просто не хочет работать для меня, и я не уверен, как это исправить.
Вот мой код:
package array1example;
public class Array1example
{
int i, sum;
float avg;
int scores[];
int MAX_SIZE = 0;
/**
*
* @param args
*/
public static void main(String[] args)
{
/* An example of an array being passed to a function
This program stores integers in an array
and computes their average*/
Array1example a1e = new Array1example();
}
public Array1example()
{
this.scores = new int[]{5, 5, 12, 17, 11};
a1e.averData(scores,MAX_SIZE);
}
private float averData(int[] scores1, int MAX_SIZE1)
{
int size = 0;
for(i=0, sum=0; i<size; i++)
{
System.out.println("Score " + " = " + scores1[i]);
sum += (scores1[i]);
}
avg = sum/i;
System.out.println("Average score: " + avg);
return avg;
}
}
Я думаю, что вы не изменили код и больше не отражает эту ошибку, и вы добавили больше проблем, пытаясь использовать 'a1e' в конструкторе. Я считаю, что исходная проблема связана с попыткой передать 'score' внутри' main', который не будет разрешен напрямую. Вам нужно будет сделать 'a1e.scores/MAX ...' – ChiefTwoPencils
Geez! Не нужно кричать! –