Вопрос задан 28.10.2026 в 10:02. Предмет Информатика. Спрашивает Валеев Ислам.




public class Main {


public static void main(String[] args) {


int[] x = new int[] { 4, 0, 3, 5, 1 }


switch (x) {


case 1 (x[0] = 0):


x[0] = 2;


case 2 (x[0] = 1):


x[0] = 2;


case 3 (x[1] = 0):


x[1] = 2;


case 4 (x[2] = 1):


x[2] = 2;


case 5 (x[3] = 0):


x[3] = 2;


case 6 (x[3] = 1):


x[3] = 2;


case 7 (x[4] = 0):


x[4] = 2;


case 8 (x[4] = 1):


x[4] = 2;


case 9 (x[5] = 0):


x[5] = 2;


case 10 (x[5] = 1):


x[5] = 2;


break;


}


}


}


Задача была: составить массив из 5 чисел (допустим, школьных отметок); если в массиве есть числа 0, 1, то изменить их на 2 с помощью switch (так как такие отметки в журнал не ставятся). Скажите, Java-программисты, что не так с моим кодом???

Перейти к ответам

Ответы на вопрос

Отвечает Курьянович Саша.

У коді є кілька помилок.

  • Після створення масиву має бути крапка з комою.
  • У switch не можна передавати весь масив: потрібно перевіряти окремий елемент.
  • Після case вказують постійне значення, наприклад 0 або 1, а не умову на кшталт x[0] = 0.
  • Знак = означає присвоювання, а не порівняння.
  • У масиві з п’яти елементів допустимі індекси від 0 до 4. Звернення до x[5] спричинить помилку.
  • Після кожного варіанта потрібен break, інакше виконання перейде до наступного case.

Зручніше перебрати масив циклом. Для кожного його елемента використайте switch: у випадках 0 і 1 присвойте цьому елементу значення 2, а в інших випадках нічого не змінюйте.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос