11 / 0 / 0
Регистрация: 07.08.2015
Сообщений: 51
1

Объяснить код

08.10.2015, 07:32. Показов 1275. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день.

Есть код
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
public class Dog {
    String name;
    public static void main(String args []){
        Dog dog1 = new Dog();
        dog1.bark();
        dog1.name = "Мозг";
 
        Dog[] myDogs = new Dog[3];
        myDogs [0] = new Dog();
        myDogs [1] = new Dog();
        myDogs [2] = dog1;
 
        myDogs[0].name = "Спокойствие";
        myDogs[1].name = "Позитивный настрой";
 
        System.out.println("Имя последней собаки - " + myDogs[2].name);
 
        int x = 0;
        while (x < myDogs.length) {
            myDogs[x].bark();
            x++;
        }
 
    }
 
    public void bark() {
        System.out.println(name + " сказал прощай хозяин!");
    }
 
}
Выводит
Кликните здесь для просмотра всего текста
null сказал прощай хозяин!
Имя последней собаки - Мозг
Спокойствие сказал прощай хозяин!
Позитивный настрой сказал прощай хозяин!
Мозг сказал прощай хозяин!


А по моей логике должен же выводиться так
Кликните здесь для просмотра всего текста
Имя последней собаки - Мозг
Спокойствие сказал прощай хозяин!
Позитивный настрой сказал прощай хозяин!
Мозг сказал прощай хозяин!
И откуда вообще вариант null взялся?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2015, 07:32
Ответы с готовыми решениями:

Объяснить код
Всем привет, может кто ни будь разъяснить мне этот код пожалуйста. А то я либо спёкся уже, или...

Объяснить код в массивах
Всем доброго дня, дана задача: 1. Создать массив на 10 строчек. 2. Ввести с клавиатуры 8 строчек...

Объяснить код метод getBytes()
Задание было Прочесть с консоли имя файла. и Считывать строки с консоли, пока пользователь не...

Восходящее преобразование, объяснить код
Всем привет! Мне не понятен один момент в восходящем преобразовании. Есть два класса: один...

3
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
08.10.2015, 07:55 2
Цитата Сообщение от Koper Посмотреть сообщение
dog1.bark();
dog1.name = "Мозг";
поменяй местами эти строки

p.s. пользуйcя дебагом
0
11 / 0 / 0
Регистрация: 07.08.2015
Сообщений: 51
08.10.2015, 08:51  [ТС] 3
Да причем здесь отладчик, я походу вопрос не правильно сформулировал)
я просто не могу понять почему он именно так выводит на экран

откуда он берёт null сказал прощай хозяин!
и почему всё идёт именно в такой последовательности:

null сказал прощай хозяин!
Имя последней собаки - Мозг
Спокойствие сказал прощай хозяин!
Позитивный настрой сказал прощай хозяин!
Мозг сказал прощай хозяин!
0
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
08.10.2015, 08:58 4
Лучший ответ Сообщение было отмечено Koper как решение

Решение

Java
1
2
3
4
5
6
7
public class Dog {
    String name; // не проинициализированная переменная
    public static void main(String args []){
        Dog dog1 = new Dog();
        dog1.bark(); // эта строка и выводит ваш "null сказал прощай хозяин!"
        // так как метод bark() выводит name, а у вас name еще не задан
        ...
1
08.10.2015, 08:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2015, 08:58
Помогаю со студенческими работами здесь

Потоки. Объяснить как работает код
Вот у меня есть код программы, которая создает два процесса. Первый генерирует ряд натуральных...

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

Нужно объяснить код оллимпиадной задачи
Есть олимпиадная задача: Группа программистов собралась в понедельник и на все свои деньги купила...

Объяснить код
Помогите написать комментарии к коду и что вообще тут делается? #include &lt;cstdio&gt; #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru