0
package Review_Randomnum;
import java.util.Scanner;
public class RandomNum {
public static void main(String[] args) {
System.out.println("Please enter a minimum value: ");
Scanner input = new Scanner(System.in);
int first = input.nextInt();
System.out.println("Please enter a maximum value: ");
int second = input.nextInt();
int number = ((int)(Math.random()) * ((second - first)) + first);
System.out.println(number);
}
}
だから私はこのウェブサイト上の多数の回答を確認していないてきたが、無駄に、私はすべてのエラーを取得しない、私はちょうど取得最小値が印刷されます。私の乱数生成器が動作していない、他の質問を見て試してみましたが、何の解決
((int)(Math.random())
この理由は、ということです:私はあなたの乱数は次の式で0に切り捨てされている入力
より良い解決策は[ ''にRandom.nextInt(int型N)]を使用することであろう(HTTPS: //docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextInt%28int%29): 'ランダムrnd =新規Random(); int number = rnd.nextInt(second-first + 1)+ first; ' – Andreas
また、あなたは' + 1'を見逃しました。それがなければ、あなたは決して "最大値"、すなわち 'second'の値を得ることはありません。 – Andreas