-2
私が選択した2つの数字(最小値と最大値)の間の数字を選ぶために私のプログラムが必要です。次に、彼が考えている数字を5つ試してみます。しかし、問題は、コンピュータが本当に限界を解釈していないということです。 min=3
max=6
- 結果として、正しい番号が7
になるのはなぜですか。私の乱数推測プログラムをデバッグするには?
コードはここにある:
import java.util.*;
public class Game1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int min = sc.nextInt();
int max = sc.nextInt();
System.out.println("insert a number");
int rand = min + (int)(Math.random() * ((max - min) + 1));
for (int i = 0; i <=5; i++){
int number = sc.nextInt();
if (number == rand){
System.out.println("congratulations! :D");
break;
}
else if (i < number){
System.out.println("The number is too big");
}
else if (i > number){
System.out.println("the number is too small");
}
else{
System.out.println("Try again");
}
}
}
}
else-ifの部分を最初に確認してください。なぜ私と番号を比較しているのですか? – Adeel
'number'の代わりにtypo' rand' – nullpointer
'Math'を使う代わりに' Random#nextInt'(https://docs.oracle.com/javase/8/docs)を持つ 'Random'を使うオプションもあります/api/java/util/Random.html#nextInt--)メソッド。 – Shirkam