Эй, я учусь в средней школе, и я нашел решение своей проблемы, но не понимаю, почему он делает то, что делает, может кто-нибудь объяснить? Также я попытался найти ответ, но не смог найти его таким извиняющимся, если кто-то уже ответил на него. и инициализировать его в foreach l oop, но когда он запускается, он говорит "variable i might not have been initialized"
? Я обнаружил, что решение этой проблемы было просто сделать int i = 0;
, но я запутался, потому что я знаю, что вы можете указать переменную и не инициализировать ее в то время, пока вы инициализируете ее позже. Так что же делает это таким особенным?
public class ArrayAverage
{
private int[] values;
public ArrayAverage(int[] theValues)
{
values = theValues;
}
public double getAverage()
{
// Problem here
int i; // Solution: int i = 0;
for(int value : values){
i += value;
}
double avg = (double)i / values.length;
return avg;
}
}
// This pseudo code code has nothing to do with above code
// but is example of what I know can be done but isn't
int i;
i = 10;
System.out.println(i);
//Output would be 10