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'};