В Java имена переменных нельзя генерировать динамически или объединять со значениями во время выполнения. Поэтому предоставленный вами код неверен и не будет компилироваться.
int count=0;
while (count<=50000){
Cat cat = new Cat();
count++;
}
int count1=0;
while (count1<=50000){
Dog dog = new Dog();
count1++;
}
Не принимает(( что не так?
Имя объекта а не имя переменной. Каждый раз как срабатывает конструктор new Cat() вы генерируете уникальный объект расположенный по уникальному адресу, но ссылка Cat всегда одна (у вас). Вы в цикле генерируете новый объект и присваиваете его одной и той же ссылке, затирая старый. Так что вы хотите сделать? Уникальная ссылка или уникальный объект? покажите класс Cat. Есть ли у него поле name? И напишите реальное задание, а не то, как вы его поняли
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
stackoverflow.com/questions/7762848/increment-variable-names