想从一堆字中,随机找出24个不一样的字,在把一个3-6个字的答案字串插到24个字的字串中替换。
帮我看看那个地方错了。
public static void main(String[] args) {

        String srcStr = "罗纳纳纳的尔包括了品牌这里提供史上最全的包括了品牌多约狱登尼泰括大无乌艾是什森供史上布全的默士好人民拜姆康的这里詹提供史阿科顿上斯全的卡品牌多阿比特李尔汉白子皇徐品娘法秦岳文供史上牛妹的包括了飞孟国理的尔约查括了夫德里人里史上女的包括了局居翰士艾牌森盖弗斯约尔罗牌逊这翰里提供史上最福全茨的比安小布娜茨艾什顿列汤林克斯彼宁得人克鲁娜姆德斯科";
        String destString = "1234";
        int lengh = srcStr.length();
        Random random = null;
        boolean isTrue = true;
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        while (isTrue) {
            random = new Random();
            int index = random.nextInt(lengh);
            if (!map.containsKey(index)) {
                map.put(index, index);
            }
            if (map.size() == 4) {
                isTrue = false;
            }
        }
        char[] srcArray = srcStr.toCharArray();
        char[] destArray = destString.toCharArray();
        int count = 0;
        for (Integer key : map.keySet()) {
            srcArray[key] = destArray[count];
            count++;
        }
        System.out.println(String.valueOf(srcArray));
 
    }JavaHashMaprandomString

解决方案 »

  1.   

    你没觉得按照你要求的话少了个方法么?
    下午正好有闲时间,帮你写了。。public String havaStr(String str){
    String[] s = str.split("");
    List<String> list = Arrays.asList(s);
    List<String> delete=new ArrayList<>(list);
    System.out.println("第0位数为:"+delete.get(0));
    delete.remove(0);
    List<String> result=new ArrayList<String>();
    while(result.size()<24){
    double d = Math.random();
    int i=(int)(d*delete.size());
    System.out.println(i);;
    result.add(delete.get(i));
    delete.remove(i);
    }
    System.out.println(result.toString()+"长度:"+result.size());
    StringBuilder builder=new StringBuilder();
    for(String o:result){
    builder.append(o);
    }
    return builder.toString();
    }
      

  2.   


    大神,你这个方法我要怎么用啊?
    你是不是想实现
    随机找出24个不一样的字
    的功能?
    我这个方法就是实现这功能的,
    调用方法就是srcStr=new Test4().havaStr(srcStr);这样简单嘛。
    你java基础得多学了
      

  3.   

    大神太历害了,还想问一个问题,是不是生成结果可以直接输出到EXCEL里?
    大神,你这个方法我要怎么用啊?
    你是不是想实现
    随机找出24个不一样的字
    的功能?
    我这个方法就是实现这功能的,
    调用方法就是srcStr=new Test4().havaStr(srcStr);这样简单嘛。
    你java基础得多学了
      

  4.   

    当然不是了。
    输出的结果得通过专门的代码和jar包才能写入excel。
    excel和txt是不一样的。
    具体见:http://bbs.csdn.net/topics/390360927
      

  5.   

    当然不是了。
    输出的结果得通过专门的代码和jar包才能写入excel。
    excel和txt是不一样的。
    具体见:http://bbs.csdn.net/topics/390360927您写的代码质量太高了。