Нашёл сборник задач и провешиваю его на java ради интереса. Задач больше 1000. Столкнулся с интересной проблемой.
switch (input) {
case 1:
System.out.print(ts.task_1());
break;
case 2:
ts.task_2();
break;
case 3:
ts.task_3();
break;
case 4:
ts.task_4();
break; //и так далее до 1000
Можно ли как-то изменить подход к реализации класса для вызова задач в большом количества?
Можно воспользоваться рефлексией:
TS ts;
Class clazz=ts.getClass();
if(input==1)
System.out.print(ts.task_1());
else {
//получаем ссылку на метод с именем task_*()
Method method=clazz.getDeclaredMethod("task_"+input, null);
if(method!=null) //вызываем метод
method.invoke(ts, null);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости