Итак, я делаю класс умирающего, который может создавать и катить кубик, возвращать значение и размер. Я пытаюсь выяснить, как сообщить программе, сколько из них было создано, чтобы у меня был ответ, отличающийся от того, сколько из них существует. IE Я хочу, чтобы ответ от printDie был Die Value: 5, если есть только один штамп, и значение Die 1: 5, если их больше одного.Подсчитайте количество существующих объектов
Вот мой код.
package com.catalyse.die;
import java.util.Random;
public class Die
{
// instance variables
private int myDieValue;
private int myDieSides;
private Random myRandom;
// Dice Class Constructors
public Die()
{
this.myDieValue = 1;
this.myDieSides = 4;
}
public Die(int numSides)
{
if ((numSides < 4) || (numSides > 100)) {
System.out.println("Error! You cannot have more than 100 sides or less than four!");
System.exit(0);
}
else {
myDieSides = numSides;
}
}
// getter methods
public int getDieSides()
{
return myDieSides;
}
public int getDieValue()
{
return myDieValue;
}
// setter methods
private void setDieSides(int newNumSides)
{
myDieSides = newNumSides;
}
public void rollDie()
{
Random rand = new Random();
int i = (rand.nextInt(myDieSides) + 1);
myDieValue = i;
}
public void printDie(int dieNum)
{
if (dieNum == 1) {
System.out.println("Die Value: "+myDieValue);
}
else {
System.out.println("Die "+dieNum+" Value: "+myDieValue);
}
}
}
Примечание: Java не имеет deconstructors, поэтому при использовании статического поля, если один будет удален счетчик не будет отражать эти изменения. – Obicere
Информация, которую вы дали, довольно хороша, но я должен спросить вас, что именно вы подразумеваете под * одним удаляется *? Поскольку нет деструктора, удаление отсутствует. Наверное, ты хочешь сказать, мусор собрал, наверное? :) – SudoRahul