私は次のコードを使用しています。ランダムに数字を生成しますが、問題は、数字を生成しない理由を理解できないことです1
int ran, g, d, col, ran2;
double y = 1000 * (Double.parseDouble(t2.getText()));
int x = (int) y;
d = Integer.parseInt(anum.getText());
double c = 10;
int prevrandom = Integer.parseInt(lnum.getText());
lnum.setText("");
lnum.setVisible(true);
for (g = 0; g==0;) {
d = Integer.parseInt(anum.getText());
ran = (int) (Math.random() * (c)); // Random Number Creation Starts
if (ran > (c / 10)) {
g = 1;
ran2 = ((int) (Math.random() * 10)) % 2;
if (ran2 == 1) {
ran = ran * (-1);
}
d = d + ran;
if (d < 0) {
ran = ran * (-1);
d = d + (2 * ran);
}
int a = d - ran;
if(prevrandom==ran){
g=0;
}
if(g==1){
lnum.setText("" + ran);
}
}
}
この関数(ボタン)をどこかから呼び出します。問題は、合計 (「a」) が 4 になったときに発生します。私の条件によれば、「1」以外の数値は許可されないため、無限ループに入ります。
私はran
変数について話している。whereを掛けMath.random
た後に得られるのは、正の整数です。10^x
x
ran2
これは、値が 1 または 0 の数値です。Math.Random に 10 を掛けると、1 桁の数値が得られ、それを 2 で mod します。
これは、Java を初めて使用する 14 歳の少年です。落胆させるのではなく、助けてくれる人々がここにいることは素晴らしいことです。