问答详情
源自:6-5 应用 Collections.sort() 实现 List 排序

6-5的作业半成品输出不了东西

我写出来的东西一开始能输出些乱码或符号。

之后修改了一些BUG后现在彻底没东西了是为什么。上代码和图片http://img.mukewang.com/5dcf7365000122a511440912.jpg

package com.imooc.collection;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

import java.util.Random;


public class CollectionsTest {


public void testSort3() {

List<String> stringList2=new ArrayList<String>();

Random random=new Random();

String str[]=new String [10];

for(int i=0;i<10;i++){

do {

int n=random.nextInt(10);

char zifu[]=new char[10];

for(int a=0;a<n;a++) {

int shu=random.nextInt(62);

if(shu<26) {

zifu[a]=(char)(shu+65);

}else if(shu<52) {

zifu[a]=(char)(shu+71);

}else {

zifu[a]=(char)(shu-4);

}

}

str[i]=Arrays.toString(zifu);

zifu=null;

}while(stringList2.contains(str[i]));

}

System.out.println("-------排序前------");

for(String string:stringList2) {

System.out.println("元素:"+string);

}

Collections.sort(stringList2);

System.out.println("-------排序后------");

for(String string:stringList2) {

System.out.println("元素:"+string);

}

}


public static void main(String[] args) {

// TODO Auto-generated method stub


CollectionsTest ct=new CollectionsTest();

ct.testSort3();

}


}


提问者:慕无忌8817699 2019-11-16 11:56

个回答

  • 每天奔跑的小蜗牛
    2019-11-16 21:39:46
    已采纳

    你是来搞笑的吗?你遍历stringList2,而你new了一个List对象后,根本就没有add添加任何属性,怎么可能会有数据?

  • 慕慕7440864
    2019-12-27 11:20:57

    附运行结果图

    http://img3.mukewang.com/5e05787a000135aa05220576.jpg

  • 慕慕7440864
    2019-12-27 11:13:28

    public static void main(String[] args) {
        Random random = new Random();
        List<String> list = new ArrayList<String>();
        // 定义一个包含数字字母(大小写)的长字符串用于程序进行随机生成
        String str = "951abcdefGhi753JKLMNopq46RSTuvwxY82Z";
        // 用于接收随机生成的字符串
        StringBuffer stringBuffer;
        for(int i = 0; i < 10; i++) {
            do {
                stringBuffer = new StringBuffer();
                // 通过for循环生成字符串的随机长度(+1是为了避免随机数为0导致生成空字符串)
                for(int j = 0; j < random.nextInt(9)+1; j++) {
                    //从str中获取一个随机的字符追加到stringBuffer
                    stringBuffer.append(str.charAt(random.nextInt(str.length())));
                }
                // 确保当前字符串在list中不存在
            }while (list.contains(stringBuffer.toString()));
            // 将生成的字符串添加到list
            list.add(stringBuffer.toString());
        }
        System.out.println("排序前:");
        list.forEach(System.out::println);
        Collections.sort(list);
        System.out.println("排序后:");
        list.forEach(System.out::println);
    }


  • 慕无忌8817699
    2019-11-16 21:33:29

    解决了。我竟然没有在其中用add把str[i]加进去