における整数の範囲を設定し、私は属性があります。私はそれが唯一の値の間になるように、この数を制限したいJavaの
private int Number;
を1 - 3
私はこれを行うだろうメソッド内で値を設定するか、値1〜3をこの整数の有効な値にしたいという事前定義の方法がありますか?
事前に感謝します。
編集:
1から3の間の数字を入力したいと思います。
私はwhileループ、doループ、forループを使用してみましたが、それぞれ無限ループに陥ることなく動作することができません。
ここにいくつかのサンプルコードは次のとおりいくつかの言語(例えば、ADA)とは異なり
private int Number;
public void setNumber(int aNumber) {
int count = 1;
while (count !=0) {
if ((aNumber < 1) || (aNumber > 3)) {
System.out.println("Value is out of range 1-3");
System.out.println("Please try again");
break;
}
else {
this.Number = aNumber;
count = 0;
}
}
}
私には2つの質問があります。 1:そのループは私が見る限り限り無限に動くべきではありません。あなたはいつ無限ループをしていますか? 2.ループが何度も実行されることはないので、なぜそのループが存在するのでしょうか?あなたは何をしようとしましたか? –
基準を満たしていない番号(1-3の間)を入力すると、「値が範囲外または範囲1-3」「無限にループします」「再試行してください」という印刷出力があります。 私自身のコードを読むことは、それが= < 1 || =>であるはずですか? – silverzx
ループは常に終了するため、条件は関係ありません。 'break'dまたは' count'が0に設定されて停止するかのいずれかです。別のループから 'setNumber'を呼び出しますか?それが壊れていると、無限を引き起こす可能性があります。 –