Здравствуйте! Проблема такая, что не могу решить ни одну более менее сложную задачу самостоятельно, все время приходится заходить в обсуждения или раздел помощь. Самому сложно додуматься до таких решений. Чувствую себя очень тупым.
Материал, который проходили порой полностью забываю или не знаю как его применить.
Посоветуйте как с этим быть? Может нужно идти на курсы с преподавателем?
Нурлан
16 уровень
Помогите, пожалуйста.
Обсуждается
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavlo Plynko Java-разработчик в CodeGym Expert
23 марта 2020, 09:59
А то что находишь в обсуждениях или помощи, понятен код? Смысл происходящего понятен?
Попробуй в такой задаче сначала на листике прописать план действий, может нарисовать блок-схему предполагаемого решения, а затем реализовать уже в коде.
Например, нахождение максимума в множестве чисел:
Это простой алгоритм, но таким же образом можно расписать любую задачу.
0
Нурлан
23 марта 2020, 10:04
Спасибо за ответ. Когда смотрю чужое решение, я почти всегда понимаю все что там написано, но сам я бы не додумался до такого решения. Как будто у меня все есть, но как этим пользоваться я не знаю.
И я почти всегда сначала в черновике прописываю как буду решать, так мне легче думается.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
23 марта 2020, 10:09
А в чем именно затык? Не знаешь как реализовать то что в черновике прописано? Тогда нужно просто продолжать решать практические задачи, чтобы все стандартные классы и методы уложились в голове.
Не получается придумать алгоритм? Тогда, возможно, стоит почитать что-то про алгоритмы.
0
Нурлан
23 марта 2020, 10:21
В большинстве случаев не знаю как реализовать прописанное в черновике, но иногда вообще не понимаю даже с чего начать.
0
Pavlo Plynko Java-разработчик в CodeGym Expert
23 марта 2020, 11:11
А можешь пример привести такой задачи?
0
Нурлан
25 марта 2020, 16:27
Извиняюсь за долгий ответ. Вот пример.
Создай класс Human с полями имя(String), пол(boolean), возраст(int), отец(Human), мать(Human). Создай объекты и заполни их так, чтобы получилось: Два дедушки, две бабушки, отец, мать, трое детей. Вывести объекты на экран.
Примечание:
Если написать свой метод String toString() в классе Human, то именно он будет использоваться при выводе объекта на экран.
Пример вывода:
Имя: Аня, пол: женский, возраст: 21, отец: Павел, мать: Катя
Имя: Катя, пол: женский, возраст: 55
Имя: Игорь, пол: мужской, возраст: 2, отец: Михаил, мать: Аня
...
Требования:
• Программа не должна считывать данные с клавиатуры.
• Добавить в класс Human поля: имя(String), пол(boolean), возраст(int), отец(Human), мать(Human).
• Добавить в класс конструктор public Human(String name, boolean sex, int age).
• Добавить в класс конструктор public Human(String name, boolean sex, int age, Human father, Human mother).
• Создай 9 разных объектов типа Human (4 объекта без отца и матери и 5 объектов с ними)).
• Выведи созданные объекты на экран.
0
Нурлан
25 марта 2020, 16:27
package com.javarush.task.task07.task0724;
/*
Семейная перепись
*/
public class Solution {
public static void main(String[] args) {
// напишите тут ваш код
}
public static class Human {
// напишите тут ваш код
public String toString() {
String text = "";
text += "Имя: " + this.name;
text += ", пол: " + (this.sex ? "мужской" : "женский");
text += ", возраст: " + this.age;
if (this.father != null) {
text += ", отец: " + this.father.name;
}
if (this.mother != null) {
text += ", мать: " + this.mother.name;
}
return text;
}
}
}
0
Pavlo Plynko Java-разработчик в CodeGym Expert
25 марта 2020, 17:22
А, ну это с ООП пробел. С какого момента начинаются сложности? Первое предложение понятно?
Создай класс Human с полями имя(String), пол(boolean), возраст(int), отец(Human), мать(Human).
0