从arraylist打印

时间:2015-03-18 06:46:27

标签: java arraylist

我正在尝试将包含'a-z','A-Z','0-10'的数组存储到char数组中,并使用shuffle算法对其进行混洗。所以我把它们全部存放在一个arraylist中并尝试打印它我没有得到数字而是我有空格显示

static List<char[]> mapelements;
public static char[] generateMapping() {
        char[] a=new char[26];
        int k=0;
        for(int i=0;i<26;i++)
        {
            a[i]=(char)(97+(k++));

        }
        System.out.println(a);
        char[] A=new char[26];
        int l=0;
        for(int i=0;i<26;i++)
        {
            A[i]=(char)(65+(l++));

        }
        System.out.println(A);
        int aLen=a.length;
        int Alen=A.length;

        char[] result=new char[aLen+Alen];
        System.arraycopy(a, 0, result, 0, aLen);
        System.arraycopy(A, 0, result, aLen, Alen);
        System.out.print(result);
        char[] digits=new char[10];
        for(char nums='0';nums<=digits.length;nums++)
        {
            digits[nums]=nums;
        }
         System.out.println("this is digits"+digits);
         System.out.println(digits);
         mapelements=new ArrayList<char[]>();
         mapelements.add(result);
         mapelements.add(digits);
        //mapelements.add(' ');
         shuffleList(mapelements);
        for(char[] shuffle:mapelements)
        {

            System.out.println("this is shuffle"+Arrays.toString(shuffle));
        }


        return null; //to be completed

    }


public static void shuffleList(List<char[]> a)
    {
        int n=a.size();
        Random rand=new Random();
        rand.nextInt();
        for(int i=0;i<n;i++){
            int change=i+rand.nextInt(n-1);
            swap(a,i,change);
        }
    }
    private static void swap(List<char[]> a,int i,int change){
        char[] helper=a.get(i);
        a.set(i,a.get(change));
        a.set(change,helper);
    }

1 个答案:

答案 0 :(得分:2)

您应该使用System.out.println(Arrays.toString(arr))来打印数组。

此外,您的数字循环有问题。它应该是:

    for(char nums='0';nums<'0'+digits.length;nums++)
    {
        digits[nums-'0']=nums;
    }

永远不会输入原始循环,因为&#39; 0&#39; &GT; digits.length,所以循环的条件永远不会成真。