Java 洗牌六个字符并打印数组的排列

Java 洗牌六个字符并打印数组的排列,java,permutation,shuffle,Java,Permutation,Shuffle,我试图通过洗牌来打印字符数组。我也看到了其他的帖子,但我想提出我自己的幼稚算法。代码如下: public class Carbon{ public static void main(String args[]){ Char A = new Char[6] {'c','a','r','b','o','n'}; for (int i=0;i<6;i++) { for (int j=0;j<6;j++) {

我试图通过洗牌来打印字符数组。我也看到了其他的帖子,但我想提出我自己的幼稚算法。代码如下:

public class Carbon{
    public static void main(String args[]){
        Char A = new Char[6] {'c','a','r','b','o','n'};
        for (int i=0;i<6;i++) {
            for (int j=0;j<6;j++) {
                if(i<=j) {
                    for (int k=i;k<=j;k++)
                        System.out.print(A[k]);
                }
                else{
                    for (int k=i;k>=j;k--)
                        System.out.print(A[k]);
                }
            }
        }
    }
}

我头脑风暴了一个多小时进行调试,但失败了。请帮助。

只需将其更改为
char[]a=新字符[]{'c','a','r','b','o','n'}

如果使用
字符串
类型,访问单个字符有点笨拙。

这里有几个问题

  • Char用于名为“Char”的类,如果您想使用原语类型,则名称应为小写“Char”
因此,在你的情况下:

Char A = new Char[6] {'c','a','r','b','o','n'};
必须成为

char A = new char[6] {'c','a','r','b','o','n'};
但现在它仍然不起作用,因为您试图将一个唯一的字符绑定到一个字符数组

因此,在这里,代码必须固定为:

char[] A = new char[6] {'c','a','r','b','o','n'};
现在是最后一个问题,您同时拥有一个新数组和一个静态数组。因此,要么设置变量“A”(根据惯例,其名称应为小写),要么指定静态数组

让我们继续使用第二个选项,您的代码将变成:

char[] A = {'c','a','r','b','o','n'};
现在它起作用了

输出将是:
CCACarCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboCarboBarBonbarboBrabrbbobobonBraboonBraboonNoBroboonNoBraboonNobranoBRanoberNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNobNob。你发布了文件的全部内容吗?@VikranthInti重新阅读。用指定的user2762451行替换两行不正确的行(A的声明和初始化)。对不起,我错误地将您提到的更改提交到原始帖子中,而不是将更改后的代码回复到您的答案中。我觉得很天真。
char[] A = {'c','a','r','b','o','n'};