public class Solution {
public static void main(String[] args) {
Cat cat1 = new Cat();
//напишите тут ваш код
Cat.count =1 ;
Cat cat2 = new Cat();
//напишите тут ваш код
Cat.count=2 ;
System.out.println("The cat count is " + Cat.count);
}
public static class Cat {
public static int count = 0;
}
}Petr Ra
8 уровень
Решил ,но не понял как ..
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Petr Ra
2 января 2019, 22:02
Как я понял ,получается Count ведет подсчет то есть
Получается метод, считает сколько раз я упоминал его ?.. Паправьте пожалуйста меня так где я не прав ,а то в голове моей каша .
0
Sergey MorozExpert
2 января 2019, 22:11решение
Это хардкодинг. Что если котов заведется больше чем 2? нужно будет каждый раз самому помнить/искать глазами последнее присвоенное число.
Нужно возложить эту функцию на класс Cat - именно для этого у него и есть переменная public static int count. Значение этой переменной можно увеличивать на единицу каждый раз как создается новый кот (то есть в классе Cat нужно добавить конструктор, который и будет наращивать счетчик при создании каждого нового кота). И тогда сам класс Cat будет сам знать сколько объектов его типа было создано (это значение он и будет содержать в своей статической переменной, которую можно получить в любой момент обратившись к Cat.count)
+7
Sergey MorozExpert
2 января 2019, 22:24
ну или хотя бы (если с конструкторами еще не знаком), наращивать count не принудительно, а через инкремент, то есть
тогда не нужно будет отслеживать, какое последнее значение содержалось в count
+4
Petr Ra
3 января 2019, 00:04
Благодарствую крайне доходчиво ты объяснил .
0