Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算java中使用Random()方法生成的数字的平均值_Java_Random - Fatal编程技术网

计算java中使用Random()方法生成的数字的平均值

计算java中使用Random()方法生成的数字的平均值,java,random,Java,Random,下面是我的代码,所有的东西都在工作,除了每次我生成的正面和反面的平均数量,每次都是0。它的代码在底部,但我发布了我所做的一切,因为我不确定错误在哪里。我怎样才能解决这个问题?谢谢 import java.util.Random; import java.util.Scanner; public class CoinToss{ public static void main(String [] args) { int heads = 0; int t

下面是我的代码,所有的东西都在工作,除了每次我生成的正面和反面的平均数量,每次都是0。它的代码在底部,但我发布了我所做的一切,因为我不确定错误在哪里。我怎样才能解决这个问题?谢谢

 import java.util.Random;
import java.util.Scanner;


public class CoinToss{
 public static void main(String [] args)
    {
        int heads = 0;
        int tails = 0;
        int counter = 1;
        double randNum = 0.0;
        Scanner in = new Scanner(System.in);

    //introduction
    System.out.println("Welcome to the coin flip simulator!");
    System.out.println("This program will simulate the average ");
    System.out.println("number of heads and tails for 10, 100  ");
      System.out.print("and 10000 flips of a coin. ");
    //user input
    System.out.println("How many times would you like to flip the coin? ");
    System.out.print("choose 10,100, 1  ");
    System.out.print("or 10000 ");
    //scanner
    int flips = in.nextInt();

    while(counter <= flips)
    {
        randNum = Math.random();
        System.out.print(counter + "\t" + randNum);

        if(randNum < .5)
        {
            heads++;
            System.out.println("\t heads");
        }
        else
        {
            tails++;
            System.out.println("\t tails");
           }
        counter++;      
    }
    System.out.println();
    System.out.println("Number of Heads = " + heads);
    System.out.println("Number of Tails = " + tails);


    //average heads
    System.out.println("Average number of times for 'heads':");
    System.out.println(heads++/flips);


    //average tails
    System.out.println("Average number of times for 'tails':");
    System.out.println(tails++/flips);
import java.util.Random;
导入java.util.Scanner;
公营铸币机{
公共静态void main(字符串[]args)
{
int头=0;
int-tails=0;
int计数器=1;
双随机数=0.0;
扫描仪输入=新扫描仪(系统输入);
//导言
System.out.println(“欢迎使用抛硬币模拟器!”);
System.out.println(“此程序将模拟平均值”);
System.out.println(“10100的正面和反面数量”);
系统输出打印(“和一枚硬币的10000次翻转”);
//用户输入
System.out.println(“您想掷多少次硬币?”);
系统输出打印(“选择10100,1”);
系统输出打印(“或10000”);
//扫描器
int flips=in.nextInt();

当(计数器执行整数除法时,该除法只返回结果的整数部分(不带小数部分),在您的情况下,该除法始终为0,因为正/尾的数量永远不会大于翻转。要同时打印小数部分,您需要将结果转换为浮点数,如下所示:

System.out.println((float) heads++/flips);

您正在执行整数除法,该除法将只返回结果的整数部分(不含小数部分),在您的情况下,该除法始终为0,因为正/尾数永远不会大于翻转数。要同时打印小数部分,您需要将结果转换为浮点数,如下所示:

System.out.println((float) heads++/flips);

您正在使用整数除法,例如,
1/2
将是
0
。您应该使用
float
类型。非常感谢!什么是float类型?您正在使用整数除法,
1/2
将是
0
例如。您应该使用
float
类型。非常感谢!什么是float类型?