Метод выбора порядкового номера ячейки массива
Есть класс телевизор, в нем метод tvOn , он принимает на вход число и должен из массива channels[] выбрать номер той ячейки которая соответствует этому числу. Не понимаю как описать это.
Код:
public class TV {
String modelTV;
Channel channnels[];
RemoteController remote;
public String getModelTV() {
return modelTV;
}
public void setModelTV(String modelTV) {
this.modelTV = modelTV;
}
public void setChannnels(Channel[] channnels) {
this.channnels = channnels;
}
public void setRemote(RemoteController remote) {
this.remote = remote;
}
public void tvOn(int channelNumber) {
for (int i = 0, i < channnels.length, i++) {
}
}
}
Ответы (1 шт):
Автор решения: Павел Ериков
→ Ссылка
Вот пример, как вы хотели с комментариями:
public void tvOn(int channelNumber) {
//Проходим по массиву каналов
for (int i = 0; i < channnels.length; i++) {
//Находим канал с индексом channelNumber
//(или номер, но это разные вещи и в вашем случае индекс)
if (i == channelNumber) {
//Выводим название канала обращаясь к массиву channnels
//по индеску channelNumber к полю name
System.out.println("Включен канал: " + channnels[channelNumber].name);
//Моментальный выход из функции. Т.к. смысла дальше исказть нет
//если мы уже нашли
return;
}
}
//Если же выход из функции не произошел, то мы не нашли канал с нужным номером
System.out.println("Канал с номером " + channelNumber + " не найден!");
}
Приведу пример, как можно было написать:
public void tvOn(int channelNumber) {
//Если переданный канал не отрицательный и не больше или равен кол-ву каналов
if (channelNumber >= 0 && channelNumber < channnels.length) {
//то выводим канал с номером channelNumber
System.out.println("Включен канал: " + channnels[channelNumber].name);
}
else {
//Если же номер канала не правильный (< 0) если канала
//с таким номером нет, то выводим информацию
System.out.println("Канал с номером " + channelNumber + " не найден!");
}
}
И да отвечаю на ваш последний комментарий, можно писать channnels[i].name это обращение к i-тому элементу массива channnels.