Java:如何创建一个有随机生日的人的房间?
这是我学习Java的第二天。我遇到了一个关于生日悖论的有趣问题Java:如何创建一个有随机生日的人的房间?,java,math,probability,object-oriented-database,birthday-paradox,Java,Math,Probability,Object Oriented Database,Birthday Paradox,这是我学习Java的第二天。我遇到了一个关于生日悖论的有趣问题 生成一个随机的生日 创建一个随机生日的人 构建一个函数来检查两个人的生日是否相同 创建一个有给定人数的房间 构建一个函数来检查一个房间中是否至少有两个人的生日相同 然而,我被困在如何创建一个“房间”与“人”,然后比较人的生日 有人知道怎么做吗 感谢您的努力和时间!:) 您的房间类可能应该包含一个列表或一个Person数组(Person[]) Person的构造函数应该接受一个dateOfBirth参数,或者更简单地说,您可以接受一个
房间
类可能应该包含一个列表
或一个Person数组(Person[])Person
的构造函数应该接受一个dateOfBirth
参数,或者更简单地说,您可以接受一个介于1和365之间的整数,它表示生日日期,不包括年份,因为这就是您所关心的。不要称那个成员为年龄,因为它与年龄无关(int)(Math.random()*365)+1
,这将为您提供介于1和365之间的整数。您不需要使用Math.round()
对于这一点,您需要的只是一组整数,每个索引包含一个人的生日 例如,要保存10个人的生日,可以创建一个大小为10的整数数组
int[] birthdays = new int[10];
可以使用以下命令为数组的索引赋值:
birthdays[2] = (int)(Math.random() * 364);
birthdays[1]
上面的代码将第三个人的生日指定为一个随机值
要获得某人的生日,请使用以下类似代码:
birthdays[2] = (int)(Math.random() * 364);
birthdays[1]
所以,要打印第五个人的生日,您可以使用
System.out.println(birthdays[4]);
请记住,数组是0索引的,这意味着第一个值是0,最后一个值是(size-1)。例如,第六个元素在索引5处。这与您之前的问题有什么不同,您之前的问题被关闭为“过于宽泛”?