首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中删除二维数组中的重复项?

如何在java中删除二维数组中的重复项?
EN

Stack Overflow用户
提问于 2012-04-04 16:53:44
回答 3查看 1.2K关注 0票数 0

我正在尝试通过一个二维数组生成一个数独棋盘: board5。数独棋盘应该只包含唯一的元音。但是,我只使唯一的元音出现在一行中。对于列,它们似乎仍然有重复项。使用到目前为止的代码,我应该如何生成没有重复的列?

下面是我用来在一行中生成唯一字母的代码:

代码语言:javascript
运行
复制
String [] vowels = {"A","E","I","O","U"};
String [][] board = new String [vowels.length][5];

public Actions(){
    int rows = 5;
    for(int row = 0;row<rows;row++){
        ArrayList<String> tempVowels = new ArrayList<String>(Arrays.asList(vowels));
        int numVowPerLine = (int)Math.floor(Math.random()*4);
        for(int j = 0;j<numVowPerLine;j++){
            do{
                int pos = (int)Math.floor(Math.random()*5);
                if(board[row][pos] == null){
                    int temp = (int)Math.floor(Math.random()*tempVowels.size());
                    board[row][pos] = tempVowels.get(temp);
                    tempVowels.remove(temp);
                    break;
                }   
            }while(true);
        }

    }

致谢对象: L7ColWinters

EN

Stack Overflow用户

发布于 2012-04-04 16:59:44

如果第一列/第一行的内容是A,而您位于第一列/第二行,则可以使用截断数组(即String [] availableVowels = {"E","I","O","U"}; )进行选择。如果你选择O,那么当你在第一列/第三行时,你应该选择from String [] availableVowels = {"E","I","U"};。等。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10007872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档