Réglage d'une limite à une valeur int
Je veux mettre une limite à un int
valeur que j'ai en Java. Je suis la création d'un simple système de santé, et je tiens à ma santé à rester entre 0 et 100. Comment puis-je faire cela?
Pourquoi avez-vous besoin de fixer une limite?
Je ne veux pas que mon état de santé d'aller en dessous de 0, ou au-dessus de 100.
Je devine que vous voulez quelque chose d'un peu plus compliqué que
Bien vérifier les limites lorsque vous obtenez d'entrée ou de créer un
Pourquoi serait-il aller au-delà de ces limites?
Je ne veux pas que mon état de santé d'aller en dessous de 0, ou au-dessus de 100.
Je devine que vous voulez quelque chose d'un peu plus compliqué que
yourInt=Math.max(yourInt, 100);
, de sorte s'il vous plaît pouvez-vous élaborer un peu plus sur la question?Bien vérifier les limites lorsque vous obtenez d'entrée ou de créer un
healtInt
classe pour le faire pour vous.Pourquoi serait-il aller au-delà de ces limites?
OriginalL'auteur Stan | 2011-04-21
Vous devez vous connecter pour publier un commentaire.
Je vous recommande de créer une classe appelée la Santé et à vérifier à chaque fois si une nouvelle valeur est définie que si elle remplit les contraintes :
IllegalArgumentException
est ce que vous souhaitez généralement de l'utilisation illicite des arguments comme cela. Les méthodes qui modèle les choses que vous voulez faire dans un jeu (comme l'ajout ou la suppression de X de la santé sans aller au-delà des frontières) sont la clé sur une classe comme cela aussi.Oui, vous pouvez également utiliser IllegalArgumentException au lieu d'une coutume HelathException.
Je voudrais utiliser le setHeathValue dans le Constructeur de sorte qu'il n'a pas à être écrit deux fois, mais à part ça, tout est bien.
Je ne le ferais pas, car vous ne devez pas appeler des méthodes substituables dans le constructeur.
OriginalL'auteur RoflcoptrException
Utiliser un getter/setter modèle.
OriginalL'auteur Kyle Sletten
Je voudrais créer une classe qui impose que.
De cette façon, si vous avez une instance de
Health
, vous savez pour un fait qu'il représente un montant valide de la santé. J'imagine que vous devez généralement voulez juste utiliser des méthodes commeaddHealth
plutôt que de définir la santé directement.OriginalL'auteur ColinD
encapsuler le terrain et de mettre une coche dans la méthode d'initialisation.
OriginalL'auteur kunal
Il n'y a aucun moyen de limiter les primitifs en Java. La seule chose que vous pouvez faire est d'écrire une classe wrapper pour cela. Bien sûr, en faisant cela, vous perdez la belle opérateur de soutien et d'utiliser des méthodes (comme
BigInteger
).OriginalL'auteur Landei
OriginalL'auteur jtahlborn
Pas de point dans la création d'une classe spéciale.
Pour incrémenter i, utilisez ceci:
public void specialIncrement(int i)
{
if(i<100)
j'++
}
N'a pas vraiment l'appliquer comme il serait trop facile d'oublier et d'incrément j'sans l'aide de la specialincrementer.
OriginalL'auteur Dapaintballer331