繁体   English   中英

简单Java程序中的循环

[英]Loops in simple Java program

我正在为我的Java类开发一个程序,该程序需要计算一对夫妇要拥有每种性别需要多少个孩子,并假设该孩子有50/50的机会是男性。 然后,该程序需要跟踪在一次T量试验中,每个性别有2个孩子经历了多少次,3个孩子,4个孩子以及最后有5个或更多孩子经历了多少次。 我通过在运行T次的for循环中嵌套一个while循环来解决此问题。 我的问题是,尽管我的for循环运行了T次,但我的while循环会吐出3个孩子,然后在其余的for循环中不更新。 关于如何使while循环正确更新的任何建议? 谢谢!

public class B
{
    public static void main(String[] args) 
    {
        int girls = 0;
        int boys = 0;
        System.out.print("Enter variable: ");
        int T = StdIn.readInt();

        for (int i = 0; i < T; i++)
        {
            while ((boys < 1) || (girls < 1))
            {
                if (Math.random() < 0.5)
                {
                    boys = boys + 1;
                }   
                else
                {
                    girls = girls + 1;
                }   
            }
        }
    }
}

您需要重置每次运行的男孩和女孩计数。 因此,您的while循环周围的代码应为:

boys = 0;
girls = 0;
while ((boys < 1) || (girls < 1))

但是,在while循环之后,您需要计算此运行适用的家庭人数:2个孩子,3个孩子,4个孩子,5个以上孩子,并增加适当的计数器。

switch(boys + girls) {
    case 2:
        twoKids++;
    break;

    case 3:
        threeKids++;
    break;

    case 4:
        fourKids++;
    break;

    default:
        fivePlusKids++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM