public static void main(String[] args) {
for (int i=1;1<10;i++) {
Cat cat=new Cat(); // как тут правильно писать ?????
}
//создай 10 котов
System.out.println(catCount);//выведи значение переменной catCount
}
public static class Cat {
public static int catCount; //создай статическую переменную catCount
public Cat(int catCount){
catCount++;
}//создай конструктор
}
}
Artur Navasardyan
8 уровень
Где ошибки ?
Обсуждается
Комментарии (15)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Tom Matroskin
7 июня 2018, 21:36
У тебя должен быть только один конструктор. Сравни свой конструктор в классе Cat и тот, через который ты создаёшь котов в цикле.
Почитай что такое параметры конструктора и когда они нужны.
0
Chocological Software Engineer
23 мая 2018, 11:35
Это бесконечный цикл, 1 всегда будет меньше 10
+2
Artur Navasardyan
23 мая 2018, 12:03
это понял.. спасибо... но проблема в строке 4. которой не понимаю
0
Roman Pryshchepa Java Developer Expert
23 мая 2018, 13:08
В конструктор передавать счетчик не нужно.
+1
Artur Navasardyan
23 мая 2018, 13:10
а проблема с строкой 4 ??? как написать чтобы каждый раз обект был новым? ведь нам нужно создать 10 обектов
0
Roman Pryshchepa Java Developer Expert
23 мая 2018, 13:13
строка 4 создает новый объект. Если это делать в правильно оформленном цикле, то можно создать столько новых объектов, сколько нужно.
+1
Artur Navasardyan
23 мая 2018, 13:28
в моем случае не правильно то что внутри цикла да?
0
--------Master
23 мая 2018, 13:32
Тебе в первом комментарии сразу сказали, что у тебя неправильно. Внутри цикла можно вообще оставить new Cat(); без объявления переменной - будет каждый раз вызываться конструктор, увеличивающий счетчик. Но для правильного решения должен быть нормальный цикл, отрабатывающий именно 10 раз, а не бесконечно и не 9.
0
Artur Navasardyan
23 мая 2018, 13:39
так я и написал что понял и исправил 1 на i . и <=10 у меня выдает ошибку
constructor Cat in class com.javarush.task.task06.task0613.Solution.Cat cannot be applied to given types; required: int found: no arguments reason: actual and formal argument lists differ in length:
Solution.java, line: 11, column: 12
line 11 здесь 4й
0
Roman Pryshchepa Java Developer Expert
23 мая 2018, 13:41
Какой конструктор ты используешь для создания объекта Cat и какой конструктор есть в твоем классе Cat?
Кстати, ты выполнил 2е требование?:
2. В классе Cat создай конструктор public Cat() без параметров.
+1
Artur Navasardyan
23 мая 2018, 13:50
public static class Cat {
public static int catCount; //создай статическую переменную catCount
public Cat(){
} //создай конструктор
0
Roman Pryshchepa Java Developer Expert
23 мая 2018, 13:52
Ок. А теперь 3е требование:
3. Конструктор должен увеличивать значение статической переменной catCount на 1.
0
Artur Navasardyan
23 мая 2018, 13:56
public static class Cat {
public static int catCount; //создай статическую переменную catCount
public Cat(int catCount) {
catCount=catCount+1;
}
public Cat(){
} //создай конструктор
}
}
0
Roman Pryshchepa Java Developer Expert
23 мая 2018, 14:09
Зачем второй конструктор?
+2
Dzhin
23 мая 2018, 15:21
удали 2 конструктор и удали параметры в конструкторе ведь он д б пустой
0