Java

Программисты, помогите написать код который будет выводить одно из чисел (от 1 до 2) с разным шансом ( в джава)

нужен код где вероятность выпадения 1 = 70% а 2 = 30%
 java.util.Random rnd = new java.util.Random(); 
...
int result = rnd.nextInt(10) < 7 ? 1 : 2;
Вова Принус
Вова Принус
86 112
Лучший ответ
Неизвестно Неизвестно не совсем уверен что аккурат 70% будет в правильную сторону учитываться..
рандом i
если i<0.7 вывести 1 иначе вывести 2
Bill Kaulitz
Bill Kaulitz
98 599
Христофорос Пападопулос а можно прям кодом? пожалуйста
Random random = new Random();
int number = random.nextInt(100);
if (number <= 30) {
System.out.println(1);
} else {
System.out.println(2);
}
start
1 = 70%
2 = 30%
if 1+2 = 100%
корочи сложно придумывать чзык програмирования
Алексей Шахов
Алексей Шахов
2 038
Христофорос Пападопулос не, ошибку выдает
Код для того , чтобы подумать )

 System.out.println(" Вывод 1: "); 
for (int i = 0; i < 10; i++){
java.util.Random rnd = new java.util.Random();
int result = rnd.nextInt(10) < 7 ? 1 : 2;
System.out.print(result+", ");

}

int intsArray [] = {1,1,1,1,1,1,1,2,2,2};

System.out.println("\n Вывод 2: ");
for (int i = 0; i < 10; i++){
java.util.Random rnd = new java.util.Random();
int result = intsArray [rnd.nextInt(10)];
System.out.print(result+", ");
}

Если вывести несколько раз результаты обоих циклов в консоль, то станет видно, что оба варианта не гарантируют вероятность 70/30. Для примера запустил программу 2 раза.

Вывод 1:
2, 2, 1, 2, 2, 2, 2, 2, 2, 2,
Вывод 2:
1, 2, 1, 1, 1, 1, 1, 2, 1, 2,


Вывод 1:
1, 2, 1, 2, 1, 1, 1, 2, 1, 2,
Вывод 2:
2, 1, 2, 2, 1, 2, 2, 1, 1, 2,
[(
[Md] (Эмди)
838
Вова Принус Похоже, ты не понимаешь, что такое "вероятность".
[Md] (Эмди) похоже , что да.