int[] a = new int[6] ;
// вводим/получаем/считываем значения
// подсчитываем сумму
int sum = 0 ;
for ( int i = 0 ; i < a.length ; i++ )
{
// отсекаем все кроме положительных
if ( a[i] > 0 )
{
// проверяем попадает ли число в диапазон от [-1 до 5]
// нижнюю границу мы уже проверили т.е
// разбили диапазон на: [-1; 0] U (1, 5]
// поэтому проверяем только правую часть
if (a[i] <= 5)
{
sum = sum + a[i];
}
}
}
у вас описание массива идет в начале задачи, а условие о том что числа (имеется в виду только позитивные) должны попадать в диапазон в конце, логично предположить что это требование относится именно к ним. это банальная проверка вашего логического мышления, ведь задача программиста искать и описывать закономерности:
// как НЕ нужно делать
if ( a[i] > 0 )
{
if ( -1 <= a[i] && a[i] <= 5 )
{
sum = sum + a[i] ;
}
}
// как нужно делать
if ( a[i] > 0 )
{
if ( a[i] <= 5 )
{
sum = sum + a[i] ;
}
}