qq_35082689
2016-07-16 01:53
采纳率: 50%
浏览 2.4k
已采纳

java一个数组替换另一个数组

java用另一个数组替换原数组里面个别几个随机位置的数据,现在有一个容量100的数组,里面内容是~线,想随机替换掉里面5个数据改成+号,这个程序应该怎么写啊?求大神教我

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 远方的守望者 2016-07-16 01:57
    已采纳

    思路:1.首先产生五个随机数0到99 2.把数组放入循环,循环条件与随机数进行比较,循环从0开始99结束,如果相同就替换。

    已采纳该答案
    打赏 评论
  • qq_35280509 2016-07-16 04:42
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        for(int i =0;i<100;i++){
            //初始化数组;
            list.add("~");
        }
    
        Random random = new Random();
        List<Integer> indexList = new ArrayList<Integer>();
        for(int i=0;i<5;i++){
            //生成5个不同的随机数,从0~99,然后存放在indexList里,标识位置
            int index = getRom(indexList);
            indexList.add(index);
            System.out.println(index);
    
            //把list里原来的"~"替换掉"+"
            list.set(index, "+");
        }
    
        for(int i =0;i<list.size();i++){
            //查看数组是否替换正确;
            System.out.println("---:"+i+"   "+list.get(i));
        }
    
    }
    
    /**
     * 生成5个不同的随机数,从0~99;
     * @param indexList
     * @return
     */
    public static int getRom(List<Integer> indexList){
        Random random = new Random();
        int index = random.nextInt(100);
        if(indexList.contains(index)){
            return getRom(indexList);
        }
        return index;
    }
    
    打赏 评论
  • kun_hello 2016-07-16 06:37
     public static void main(String[] args) {
        String[] array = new String[100];
        for(int i =0;i<array.length;i++){
            //初始化数组;
            array[i] = "~";
        }
    
        Random random = new Random();
        for(int i=0;i<5;i++){
            //生成5个不同的随机数,来当做下标
           int index = random.nextInt(100);
    
           //替换
                array[index] = "+";
        }
        //打印
        System.out.println(array.toString());
    
    
    }
    
    1 打赏 评论

相关推荐 更多相似问题