如何在二维数组中查找指定行并与中奖号码对比判定奖项?
嘿,我帮你把需求和代码整理成清晰的Markdown格式,顺便给你提几个代码里的小问题~
需求说明
我现在要实现这么一个功能:
- 在二维数组里找到对应
playerId的那一行(playerId对应数组的行索引) - 把这一行的号码和中奖号码数组
winNum做对比,判断这个玩家能中什么奖项
当前编写的Java代码片段
public static String searchNum(int[][] playerArr, int[]winNum, int playerId) { // 接收一个ID(对应行),并据此将该行号码与中奖号码对比,判定其所属奖项类别 for(int i = 0; i < playerArr.length; i++) { // 遍历所有行(对应ID) if(playerArr[i] == playerId)){ // 若当前行等于输入的player id int currID = i; int counter = 0; for (int j = 0; j < playerArr[i].length; j++) { // 这里应该是写号码对比的逻辑,目前还没完成 } } } // 最后要返回对应的奖项类别字符串,现在暂时返回空串 return ""; }
代码里的几个小问题提醒
- 语法错误:
if(playerArr[i] == playerId))这里多了一个右括号,而且逻辑不对——playerArr[i]是整行的数组,不能直接和整数playerId比较,你应该是想判断当前遍历的行索引i是否等于输入的playerId,所以应该改成if(i == playerId) - 核心逻辑缺失:内部循环里还没实现号码匹配的统计逻辑,你需要在这里判断
playerArr[i][j]是否在winNum里,统计匹配的数量,再根据数量对应到不同奖项
内容的提问来源于stack exchange,提问作者Berimbolo
相关产品推荐
相关产品推荐

