public class Puzzle4 {
public static void main(String[] args) {
Puzzle4b[]obs = new Puzzle4b[6];
int y = 1;
int x = 0;
int result = 0;
while (x < 6) {
obs[x] = new Puzzle4b();
obs[x].ivar = y;
y = y * 10;
x = x + 1;
}
x = 6;
while (x > 0){
x = x -1;
result = result + obs[x].doStuff(x);
}
System.out.println("результат" + result);
}
}
class Puzzle4b{
int ivar; // Ivar принимает значение в цикле while ? obs[x].ivar = y, то есть Ivar это y ????
public int doStuff(int factor){
if (ivar > 100){
return ivar*factor;
}
else {
return ivar*(5 - factor); // возвращаем это куда ? во втором цикле ?
}
}
}
Вопрос крайний исключительно любопытный : зачем все так усложнять ? ведь я могу написать этот код гораздо проще даже со своим младенческим уровнем в програмировании
hidden #2070338
17 уровень
Головоломки у бассейна в HeadFirst
Обсуждается
Комментарии (18)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
JustinianJudge в Mega City OneMaster
8 июля 2019, 09:46
Когда рекомендую литературу, упражнения в Head First Java рекомендую пропускать после обнаружения нескольких ошибок в русскоязычном издании, которые не совпадают с английским, да и в целом задачи там жесть, написанные 15 лет назад любителями си..
А ответ на твой вопрос я дам своей мини-историей.
Один раз я занимался спортом, на нас тренер вешал пояс с гирями и заставлял прыгать, потом на ноги и давай ногами махать.
Это реально усложнение, но смысл этого всего есть :)
Тяжело в учении, легко в бою :)
Этот код исключительно методическо-воспитательный.
Не вопрос дать так, чтобы все было легко и понятно, например на джава раше, раз два, все понятно, пару неделек и уже 40 уровней и звание магистр всех программистов. Легко, весело но бесполезно.
Лучшее что могут дать учителя нам, это не жалеть нас.
Когда мы встретимся с реальными проблемами, сложными моментами или жестким индусо легаси кодом, упражнения "Амиго самый умный" нам не помогут.
А вот опыт мучений с валидатором и сидения над такими задачами еще как.
+4
hidden #2070338
8 июля 2019, 09:51
Твои мотивационные речи очень ободряют и ответ в стиле жизненного ООП тоже впечатлил , еще раз спасибо большое ! если не против я набиваюсь к тебе в виртуальные друзья
+1
JustinianJudge в Mega City OneMaster
8 июля 2019, 09:58
На здоровье, успехов! :)
0
hidden #2070338
8 июля 2019, 10:18
но не мог ты бы мне все таки обьяснить присланный скрин , а конкретно я не могу сообразить какое значение принимает result = result + obs[x].doStuff(x); в каждом из 5 раз в цикле (x > 0), по моему расчету получаются гигантские цифры а вывод конечный всего то 543345
0
JustinianJudge в Mega City OneMaster
8 июля 2019, 10:51
Я такие задачи советовал бы разве что в транспорте, на шезлонге на море, или в любой другой ситуации, где нет возможности книгу почитать, а время свободное есть. Тогда можно покрутить такие задачи.
В Джава достаточно большой стек технологий, и пока ты тратишь время на такие задачи, твои потенциальные конкуренты за рабочее место разбирают авл и красно-черные деревья, микросервисы, нюансы работы с гитом, jms, сервлеты, паттерны, трэды джойны и тд, все то, что даст им конкурентное преимущество.
А задачки посчитать дырки от бубликов это шаг в сторону, но...У каждого своя жизнь, своя стратегия, свое количество свободного времени, если можешь позволить, почему бы и нет.
+3
JustinianJudge в Mega City OneMaster
8 июля 2019, 10:51
Это очеловеченный код
+1
JustinianJudge в Mega City OneMaster
8 июля 2019, 10:51
В первом цикле добавляются в массив:
1
10
100
1000
10000
100000
Значение array[index].multiply(index) во втором цикле:
500000
40000
3000
300
40
5
Что происходит в методе multiply
index = 5
number = 100000
500000
index = 4
number = 10000
40000
index = 3
number = 1000
3000
index = 2
number = 100
300
index = 1
number = 10
40
index = 0
number = 1
5
Итоговый результат: 543345
+4
hidden #2070338
8 июля 2019, 12:12
Ты безусловно прав , просто нрав любопытный и если что то не понимаю должен понять , но приму к сведению твою рекомендацию , понял что это далеко не главное (эти задачи)
+1
JustinianJudge в Mega City OneMaster
8 июля 2019, 12:17
Я просто сам такой..но есть пословица про кошку и любопытство :)
В изучении джава успехов достигают не те, кто прям программеры от бога и с пеленок.
А те, кто принимает верные решение, вот здесь себя в руки взять и вместо пивасика с друзьями поучиться, а вот здесь, когда в тупике, наоборот пойти к друзьям, расслабиться, на следующий день отдохнувший все само получится, вот эту книжку не читать, эту пролистать, а вот эту почитать. И тд. Тысячи микрорешений, у кого процент правильных решений больше, тот и ближе к цели.
+2
hidden #2070338
8 июля 2019, 12:51
прямо как в коде программы , ты давно кстати в Java ?
0
JustinianJudge в Mega City OneMaster
8 июля 2019, 13:09
На джава раше с марта, но до этого пару месяцев пытался учиться тоже.
0
hidden #2070338
8 июля 2019, 14:05
Работаешь уже ?
0
JustinianJudge в Mega City OneMaster
8 июля 2019, 14:09
еще нет, но собираюсь )
0
hidden #2070338
8 июля 2019, 14:17
есть наметки ?
0
JustinianJudge в Mega City OneMaster
8 июля 2019, 14:20
нет, сделаю резюме, похожу по собесам и пойду на работу )
0
hidden #2070338
8 июля 2019, 14:26
удачи в поисках
0
JustinianJudge в Mega City OneMaster
8 июля 2019, 14:33
спасибо, взаимно
0
Dannyson
20 декабря 2019, 16:41
Как успехи, нашёл работу?)
0