此问题在此处已有答案:
x = (int)(Math.random() * 1) what are the chances of 0 or 1?(5个答案)
去年关闭了。
这是在Java 15.0.2和netbeans 12.0LTS上编写的,我想假设我正确地编写了这个抛硬币生成器,但是0是唯一一个给我正确答案的选项,1从来没有。我不知道我是不是在Math.random上搞砸了什么,或者我只是那么不幸。
package pkgthis.thing;
import java.util.Scanner;
/**
*
* @author Student
*/
public class LabQuestion6 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int coin = (int) (Math.random()*1);
int choice;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please choose 1 or 0: \n");
choice = keyboard.nextInt();
if (choice == coin)
{
System.out.println("You are correct");
}
else
{
System.out.println("You are incorrect");
}
}
}
1条答案
按热度按时间igetnqfo1#
Math.random总是给出一个大于或等于0且小于1(不含)的数字。将其转换为int将总是给出0。另一种方法可以是:
int coin = (int) (Math.random()*2);