要随机播放六个字符并打印数组的排列

时间:2015-08-24 08:34:44

标签: 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++) {
                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]);
                }
            }
        }
    }
}

发生以下错误:

 Carbon.java:3: error: ';' expected
        Char A = new Char[6] {'c','a','r','b','o','n'};
                            ^
Carbon.java:3: error: not a statement
        Char A = new Char[6] {'c','a','r','b','o','n'};
                              ^
Carbon.java:3: error: ';' expected
        Char A = new Char[6] {'c','a','r','b','o','n'};
                                 ^
3 errors

我头脑风暴超过1小时进行调试但失败了。请帮忙。

2 个答案:

答案 0 :(得分:2)

只需将其更改为char[] a = new char[]{'c', 'a', 'r', 'b', 'o', 'n'}; 如果您使用String类型,则访问单个字符会有点笨拙。

答案 1 :(得分:1)

这里有几个问题。

  • Char用于名为&#34; Char&#34;的类,如果你想使用原始类型,则名称为小写&#34; char&#34;

所以在你的情况下:

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

必须成为

char A = new char[6] {'c','a','r','b','o','n'};

但是现在它仍然不起作用,因为你试图将一个唯一的char绑定到char

数组

所以在这里,代码必须修复为:

char[] A = new char[6] {'c','a','r','b','o','n'};

现在有最后一个问题,你有一个新的数组和一个静态数组同时。所以你要么设置你的变量&#34; A&#34; (根据惯例,名称应为小写),您可以指定静态数组。

让我们坚持使用第二个选项,您的代码变为:

char[] A = {'c','a','r','b','o','n'};

现在可行了

输出将是: ccacarcarbcarbocarbonacaararbarboarbonracrarrbrborbonbracbrabrbbobonobracobraobroboonnobracnobranobrnobnon