С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157

Объясните пожалуйста логику как можно доступнее

02.03.2018, 21:54. Показов 2006. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) {
       Cat cat = new Cat();
        Dog dog = new Dog();
        Fish fish = new Fish();
        Woman woman = new Woman();
        cat.owner = woman;
        dog.owner = woman;
        fish.owner = woman;
        
    }
 
    public static class Cat {
        public Woman owner;
        
    }
 
    public static class Dog {
        public Woman owner;
    }
 
    public static class Fish {
        public Woman owner;
    }
 
    public static class Woman {
        
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2018, 21:54
Ответы с готовыми решениями:

Объясните, пожалуйста, в каком порядке Java-машина читает код и логику работы
Объясните, пожалуйста, в каком порядке Java-машина читает код и логику работы. Для меня выглядит так, как будто не хватает одного...

Объясните логику работы программы
public static boolean getAnswer ( int array){ if (array.length < 2) return false; for (int i = 0; i < array.length - 1;...

Объясните пожалуйста как работает эта программа
Объясните пожалуйста как работает эта программа import java.util.Scanner; public class Main { public static void...

26
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,764
02.03.2018, 22:32
Здесь нет никакой логики, только структура данных.
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
02.03.2018, 22:40  [ТС]
korvin_, я просто не понимаю эту часть
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat.owner = woman;
dog.owner = woman;
fish.owner = woman;
 
}
 
public static class Cat {
public Woman owner;
 
}
 
public static class Dog {
public Woman owner;
}
 
public static class Fish {
public Woman owner;
}
 
public static class Woman {
 
}
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,764
02.03.2018, 22:50
Цитата Сообщение от 3vik Посмотреть сообщение
я просто не понимаю эту часть
Ну почитай литературу. Художественную, например.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
03.03.2018, 07:58
3vik, В данном случае, у каждого животного есть хозяин типа Женщина. Потом создается объект женщина типа Женщина и присваивается полю хозяин у каждого животного. Получается, что у всех данных трех конкретных животных один и тот же хозяин
1
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
03.03.2018, 10:24
3vik, дружище, откуда ты взял этот код? Ведь всегда есть несколько путей решения...
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
03.03.2018, 11:49
Цитата Сообщение от 3vik Посмотреть сообщение
я просто не понимаю эту часть
Были у женщины собака, кот и рыбка...
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
04.03.2018, 08:07  [ТС]
Aviz__, JavaRuash

Подскажите пожалуйста верно ли решение
Нужно создать 10 объектов типа Zerg и каждому из них дать свое имя.
2. Нужно создать 5 объектов типа Protoss и каждому из них дать свое имя.
3. Нужно создать 12 объектов типа Terran и каждому из них дать свое имя.
4. Нельзя изменять классы Zerg, Protoss и Terran.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Solution {
    public static void main(String[] args) {
        Zerg zrg = new Zerg();
        zrg.name = "Zega";
        int z[] = new int[10];
        for (int i = 0; i < 10; i++) {
            z[i] = i + 1;
            System.out.println(zrg.name + z[i]);
 
 
        }
 
        Protoss pts = new Protoss();
        pts.name = "Pots";
          int w;
        for (int i = 0; i < 5; i++ ){
           w = i + 1;
             System.out.println(pts.name + w);
 
 
 
 
 
             }
0
 Аватар для rerf2010rerf
46 / 79 / 6
Регистрация: 10.08.2013
Сообщений: 237
04.03.2018, 08:30
3vik, вставляйте код в блоки кода, а не простым текстом.
Что касается вашего вопроса, вы создали только по одному объекту Zerg и Protoss. Вам надо их в цикле и создавать, а не прибавлять циферку к имени одного и того же объекта.
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
04.03.2018, 10:19
3vik, пожалуйста, не начинай с вещей, которые тебе не понятны! Только разочаруешься.
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
04.03.2018, 12:01  [ТС]
Aviz__, Не разочаруюсь, мне интересно голову поломать)) просто если бы кто нибудь объяснил конкретно по этому вопросу, было бы проще
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.03.2018, 12:39
Цитата Сообщение от 3vik Посмотреть сообщение
Нельзя изменять классы Zerg, Protoss и Terran
Тогда нужно, как минимум, посмотреть на эти классы. Есть ли там сеттеры/геттеры имен, какие конструкторы...

Добавлено через 14 минут
Вот, например, если есть конструктор, принимающий на вход имя...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Main {
 
    public static void main(String[] args) {
        Zerg[] zergs = new Zerg[10];
        Protoss[] protosses = new Protoss[5];
        Terran[] terrans = new Terran[12];
 
        for (int i = 0; i < zergs.length; i++) {
            zergs[i] = new Zerg("Zerg" + i);
            System.out.print(zergs[i].getName() + " ");
        }
        System.out.println();
        for (int i = 0; i < protosses.length; i++) {
            protosses[i] = new Protoss("Protoss" + i);
            System.out.print(protosses[i].getName() + " ");
        }
        System.out.println();
        for (int i = 0; i < terrans.length; i++) {
            terrans[i] = new Terran("Terran" + i);
            System.out.print(terrans[i].getName() + " ");
        }
    }
}
Здесь в циклах создается нужное количество юнитов, и каждому присваивается имя - раса+порядковый номер
1
 Аватар для robotcode
28 / 8 / 6
Регистрация: 20.09.2017
Сообщений: 133
04.03.2018, 18:44
Цитата Сообщение от 3vik Посмотреть сообщение
Cat cat = new Cat();
создаешь объект cat класса Cat

Цитата Сообщение от 3vik Посмотреть сообщение
Woman woman = new Woman();
создаешь объект woman класса Woman

Цитата Сообщение от 3vik Посмотреть сообщение
cat.owner = woman;
у класса Cat есть поле owner, которому задаем значение типа Woman
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
04.03.2018, 18:54  [ТС]
robotcode, Другими словами, поле Сat owner в классе Cat, означает что у кота есть женщина, так? Если бы у кота был еще мужчина и собака и созданы соответствующие Class Dog, Class Man, а также ссылки на них Dog dog = new Dog то в классе Cat было бы прописано Man owner, Dog owner?
0
04.03.2018, 18:57

Не по теме:

Цитата Сообщение от 3vik Посмотреть сообщение
у кота есть женщина
Цитата Сообщение от 3vik Посмотреть сообщение
Если бы у кота был еще мужчина и собака
аааааа

0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
04.03.2018, 19:33  [ТС]
iSmokeJC,

1. Нужно создать 10 объектов типа Zerg и каждому из них дать свое имя.
2. Нужно создать 5 объектов типа Protoss и каждому из них дать свое имя.
3. Нужно создать 12 объектов типа Terran и каждому из них дать свое имя.
4. Нельзя изменять классы Zerg, Protoss и Terran.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class Solution {
    public static void main(String[] args) {
   Zerg [] zrg = new Zerg[10];
   for (int i = 0; i < zrg.length; i++){
       zrg[i] = new Zerg();
       zrg[i].name = "zrg" + i;
       System.out.println(zrg[i].name);
   }
 
        Protoss[] prot = new Protoss[5];
        for (int i = 0; i < prot.length; i++) {
            prot[i] = new Protoss();
            prot[i].name = "protoss" + i;
            System.out.println(prot[i].name);
        }
 
            Terran[] ter = new Terran[12];
        for (int i = 0; i < ter.length; i++) {
            ter[i] = new Terran();
            ter[i].name = "prot" + i;
            System.out.println(ter[i].name);
 
        }
 
 
 
    }
 
    public static class Zerg {
        public String name;
    }
 
    public static class Protoss {
        public String name;
    }
 
    public static class Terran {
        public String name;
    }
}
Правильно ли я сделал, просто я не очень четко понимаю как работает код, если не сложно объясните плз
0
 Аватар для robotcode
28 / 8 / 6
Регистрация: 20.09.2017
Сообщений: 133
04.03.2018, 20:40
Цитата Сообщение от 3vik Посмотреть сообщение
у кота есть женщина, так?
лучше сказать, что не есть женщина, а есть поле, которому можем присвоить женщину, а пока не присвоили поле пустое.
у кота есть владелец и владельцем может быть только женщина.


Цитата Сообщение от 3vik Посмотреть сообщение
Если бы у кота был еще мужчина и собака и созданы соответствующие Class Dog, Class Man, а также ссылки на них Dog dog = new Dog то в классе Cat было бы прописано Man owner, Dog owner?
если правильно понял, то да

старайся формулировать логически грамотные вопросы.
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
04.03.2018, 21:10  [ТС]
robotcode, ок, спасибо
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
05.03.2018, 07:53
Цитата Сообщение от 3vik Посмотреть сообщение
Правильно ли я сделал
в данном случае, да
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
05.03.2018, 09:21
Цитата Сообщение от 3vik Посмотреть сообщение
не очень четко понимаю как работает код
освой дебагер и все будет яснее ясного))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2018, 09:21
Помогаю со студенческими работами здесь

Объясните пожалуйста как работает этот код, как это объяснить преподавателю, кто шарит
Тут вначале понятно, тип матрица 5 на 5, дальше что за переменные? и что за условие в цикле выполняется не совсем понимаю, объяните плиз ...

Объясните пожалуйста как считать данные из файла и отсортировать их
Например, мне вот нужно считать из файла город и температуры &quot;москва&quot;:&quot;10&quot;;&quot;самара&quot;:&quot;15&quot;;&quot;сочи&quot;:&quot;20&quot;... ...

Объясните, пожалуйста, логику работы кода
Пожалуйста, объясните логику этого примера, не могу совсем разобраться. Сначала мы вызываем функцию setupHelp(), у нас в ней есть массив...

Объясните пожалуйста как работают эти программы, если можно с комментариями к коду
Объясните пожалуйста как работают эти программы, если можно с комментариями к коду #include &lt;iostream&gt; using namespace...

Программа выдает ошибку [C++ Error] Unit1.cpp(23): E2062 Invalid indirection, объясните пожалуйста в чем причина и как можно исправить
Программа выдает ошибку Unit1.cpp(23): E2062 Invalid indirection, объясните пожалуйста в чем причина и как можно исправить.подобную ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru