Java A、 矩阵中的B、C、D、E、F、G、H,前提是它们最多和最少使用两次字母

Java A、 矩阵中的B、C、D、E、F、G、H,前提是它们最多和最少使用两次字母,java,Java,像这样 如图所示,同一封信最多写3封,至少写2次 这是我的枕头密码部分 Random r = new Random(); for (int i = 0 ; i < 4 ; i++){ for (int j = 0 ; j < 4 ; j++){ char c = (char)(r.nextInt(8) + 'a'); cards[i][j] = new Card(c); } } Random r=new Random(); 对于(in

像这样

如图所示,同一封信最多写3封,至少写2次

这是我的枕头密码部分

Random r = new Random();
for (int i = 0 ; i < 4 ; i++){
    for (int j = 0 ; j < 4 ; j++){
        char c = (char)(r.nextInt(8) + 'a');
        cards[i][j] = new Card(c);
    }
}
Random r=new Random();
对于(int i=0;i<4;i++){
对于(int j=0;j<4;j++){
char c=(char)(r.nextInt(8)+'a');
卡[i][j]=新卡(c);
}
}

在一个4x4纸牌游戏中,我们试图找到写在纸牌下面的两个字母。

你根本不需要使用
随机类。正如@Yunnosch在他的评论中提到的,您需要创建一个字母对数组,将该数组复制到
java.util.List
,将
列表
洗牌,并将洗牌后的
列表
复制到矩阵中

下面是测试运行的输出

[b, e, e, b]
[g, d, f, d]
[f, h, h, a]
[c, g, a, c]
这是我使用的代码

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class ShuffleExample {

    public static void main(String[] args) {
        char[][] cards = new char[4][4];

        char[] letters = { 'a', 'a', 'b', 'b', 'c', 'c', 'd', 'd', 
                'e', 'e', 'f', 'f', 'g', 'g', 'h', 'h' };
        List<Character> pairs = new ArrayList<>();
        
        for (int i = 0; i < letters.length; i++) {
            pairs.add(letters[i]);
        }
        
        Collections.shuffle(pairs);

        int index = 0;
        for (int i = 0; i < cards.length; i++) {
            for (int j = 0; j < cards[i].length; j++) {
                cards[i][j] = pairs.get(index++);
            }
        }

        for (int i = 0; i < cards.length; i++) {
            System.out.println(Arrays.toString(cards[i]));
        }
    }

}
import java.util.ArrayList;
导入java.util.array;
导入java.util.Collections;
导入java.util.List;
公共类ShuffleExample{
公共静态void main(字符串[]args){
字符[][]卡=新字符[4][4];
字符[]字母={a',a',b',b',c',c',d',d',
‘e’、‘e’、‘f’、‘f’、‘g’、‘g’、‘h’、‘h’};
列表对=新的ArrayList();
for(int i=0;i
你能翻译一下这个问题吗?我修正了它,很抱歉我错过了它。
Card()是什么?
你到底想实现什么?请提供完整的问题你知道洗牌的概念吗?它允许创建所需条目的非随机列表,并将它们随机排列。您的问题是什么?看见