Задача на массивы. Не могу решить

86
08 декабря 2021, 04:00

Задание такое: 1. Создать массив на 15 целых чисел. 2. Ввести в него значения с клавиатуры. 3. Пускай индекс элемента массива является номером дома, а значение - число жителей, проживающих в доме. Дома с нечетными номерами расположены на одной стороне улицы, с четными - на другой. Выяснить, на какой стороне улицы проживает больше жителей. 4. Вывести на экран сообщение: "В домах с нечетными номерами проживает больше жителей." или "В домах с четными номерами проживает больше жителей."

Примечание: дом с порядковым номером 0 считать четным.

Вот такой код я написал:

public class Solution {
public static void main(String[] args) throws IOException {
    int [] number = new int [15];
    BufferedReader reader = new BufferedReader (new InputStreamReader (System.in));
    int even = 0;
    int odd = 0;
    int b = number.length;
    for (int i=0; i<b; i++)
    {String a = reader.readLine();
        int resident = Integer.parseInt (a);
        int c = resident % 2;
        if (c==0) {
            even ++;
        }
        else {
            odd ++;
        }
        number [i] = resident;
    }
    if (even>odd)
        System.out.println("В домах с чётными номерами проживает больше жителей.");
    else
         System.out.println("В домах с нечетными номерами проживает больше жителей.");
    }
      }

И вот какую ошибку выводит валидатор (см. рис. 1)

Answer 1

Данный вариант решения проходит валидатор:

   public static void main(String[] args) throws IOException {                                                  
            BufferedReader rdr = new BufferedReader(new InputStreamReader(System.in));                                                  
            int[] arr = new int[15];                                                  
            int even = 0;                                                  
            int odd = 0;                                                  
            for(int x = 0; x < arr.length; x++) {                                                  
                arr[x] = Integer.parseInt(rdr.readLine());                                                  
                if(x == 0 || x % 2 == 0) even += arr[x];                                                  
                else odd += arr[x];                                                  
            }                                                  
            String result = (even > odd) ? "В домах с четными номерами проживает больше жителей." :                                                  
            "В домах с нечетными номерами проживает больше жителей.";                                                  
            System.out.println(result);                                                  
        }     
READ ALSO
Как удалить первый элемент коллекции, используя iterator

Как удалить первый элемент коллекции, используя iterator

Если попытаться вызвать iteratorremove() до вызова next(), то мы получим исключение IllegalStateException

146
Как поместить строку в одинарные кавычки?

Как поместить строку в одинарные кавычки?

Как добавить в конец строки символ " ' " не вызывая два раза builderreplace?

164
Intellij Idea - как перевести весь java проект на UTF-8

Intellij Idea - как перевести весь java проект на UTF-8

У меня есть старый проект, отличный от кодировки UTF-8, мне нужен перевод всего проекта в UTF-8Работаю в Intellij Idea

191