我的家庭作业有问题。我不要求任何代码。我所要求的只是一些关于如何实施任务的某些部分的建议。
分配如下:N 名玩家(n 由用户给出)和一个带有字母的“盒子”(AZ,未指定的字母数量或问题中所述:无限制)。每个字母都有一个索引。A=0,B=1,..,Z=25。每个玩家都会收到一封随机的信件。第一个形成大小为 p >= 3 的单词的玩家(p 由用户给出)具有以下属性:字母的索引应该是等差数列。例如,如果 p=3,则 ABC 或 ZXV 是获胜组合。
程序应该在每次迭代中显示每个玩家的字母。当一名玩家获胜时,程序应显示获胜的玩家和获胜的单词。
建议是:使用 Math.random() 和 StringBuilder 处理字符串。
我认为该程序的入口点的方式是要求用户提供玩家数量。之后我应该生成 N 个对象(给定一个 Player 类)。第一个愚蠢的问题:我如何生成 N 个对象。就像是:
for (int i = 0 ; i < n ; i++) {
Player player1 = new Player();
//how do I allocate the other objects?
}
有没有办法为字母分配索引?我能想到的就是生成随机字母,例如:
Random r = new Random();
box = new char[9999];
for (int i = 0; i < 9999; i++){
box[i]= (char)(r.nextInt(25)+65); //there are 26 letters and A starts on position 65
}
还有其他想法吗?非常感谢有关如何思考解决此问题的任何建议。