Дана задача: Создать статический метод printMagazines(Printable[] printable) в классе Magazine, который выводит на консоль названия только журналов. Создать статический метод printBooks(Printable[] printable) в классе Book, который выводит на консоль названия только книг. Используем оператор instanceof. Метод написала, но его выполнение приводит к ошибке. Помогите пожалуйста :) Код:
public class Main {
public static void main(String[] args) {
Printable[] test=new Printable[3];
test[0]=new Book();
test[1]=new Magazine("keke");
test[2]=new Book();
int k=0;
for (Printable i:test){
test[k].print();
k++;
}
**if (test[k] instanceof Magazine){
int l=0;
((Magazine) test[k]).printMagazines(test);
k++;
}**
}}
public interface Printable {
Printable print();
}
public class Book implements Printable {
String name;
@Override
public Printable print() {
System.out.println("1");
return null;
}
public void printBooks(Printable[] printable){
Printable b=print();
System.out.println(b);
}
}
public class Magazine implements Printable {
String name;
Magazine(String name){
this.name=name;
}
@Override
public Printable print() {
System.out.println("2");
return null;
}
public void printMagazines(Printable[] printable){
System.out.println(name);
}
}
Ошибка: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at Main.main(Main.java:19)
Заранее спасибо!
public class Magazine implements Printable {
...
public static void printMagazines(Printable[] printables) {
for (Printable p: printables) {
if (p instanceof Magazine)
p.print();
}
}
}
Magazine.printMagazines(test);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Необходимо написать программу, в которой при нажатии мышки создаётся квадратик синего цвета, при двойном нажатии на синий квадратик цвет...
написал код пытаюсь парсить firebase realtime NotificationFragmentjava
я делаю приложение, выводящее спираль(в целях образования)Но спираль выводится с редкими придатками, в местах отклоняющихся на на количество...
Как из содержимого массива String[] subStr;, где i = n создать n массивов, уже заполненные содержимым из nНапример i = 3, создать соответственно 3 новых...