| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2059 人关注过本帖, 1 人收藏
标题:请教java习题!!
只看楼主 加入收藏
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
结帖率:100%
收藏(1)
 问题点数:0 回复次数:13 
请教java习题!!
一个int数组
数组长100
随机向这个数组输入1-100
并且保证数组里面的数不会重复!

[[it] 本帖最后由 elan1986 于 2008-11-19 17:27 编辑 [/it]]
搜索更多相关主题的帖子: java 习题 
2008-11-19 17:21
wcbts520
Rank: 1
等 级:新手上路
帖 子:86
专家分:7
注 册:2007-10-11
收藏
得分:0 
输入1到100不能重复,那不就是顺序输入1到100就不会重复了!
2008-11-19 17:25
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
收藏
得分:0 
请看明白是随机!!
随机!!!
数组里面的数不能重复!
2008-11-19 17:26
zcc8607
Rank: 2
等 级:论坛游民
帖 子:21
专家分:19
注 册:2008-5-19
收藏
得分:0 
将1-100随机插入数组,插入的位置随机生成,插入时判断该位置是否为空
这样行吗?
2008-11-19 18:59
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
程序代码:
import java.util.ArrayList;
import java.util.Random;

/*一个int数组
数组长100
随机向这个数组输入1-100
并且保证数组里面的数不会重复!*/
public class ArrTest{
    private int[] num = new int[100];
    private ArrayList<Integer> list = new ArrayList<Integer>(100);
    private Random rand = new Random();
    
    {
        for(int i=0;i<100;){
            list.add(++i);
        }
    }
    
    //将1~100随机的放到num数组中
    public void fillArray(){
        for(int i=0;i<num.length;i++){
            num[i] = list.remove(rand.nextInt(list.size()));
        }
    }
    //打印数组
    public void printArray(){
        for(int i:num){
            System.out.print(i + " ");
        }
        System.out.println();
    }
    
    public static void main(String[] args) {
        ArrTest test = new ArrTest();
        test.fillArray();
        test.printArray();
    }
}


[[it] 本帖最后由 freish 于 2008-11-19 19:54 编辑 [/it]]
2008-11-19 19:52
牛仔我很忙
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-3-27
收藏
得分:0 
5楼写的很好啊
值得我多多学习
2008-11-20 20:24
gujilanxue
Rank: 1
等 级:新手上路
威 望:1
帖 子:9
专家分:0
注 册:2007-9-6
收藏
得分:0 
5楼的相当不错,支持了!要好好学习啊!
2008-11-21 09:16
小応
Rank: 3Rank: 3
来 自:安徽大学
等 级:新手上路
威 望:8
帖 子:103
专家分:0
注 册:2008-10-16
收藏
得分:0 
参考一下
public class test {
    public static void main(String[] args){
        //
        Random rand = new Random();
        Set s = new HashSet();
        for(int i = 0;i<100;i++){
            while(!s.add(rand.nextInt(100)+1));
        }
        System.out.println(s.toString());
        System.out.print(s.size());

        
    }
}

跑一下试试,SET容器有个特性就是不包含重复的对象
我的邮箱:lxy2520@
2008-11-21 12:33
majinfei
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-6
收藏
得分:0 
六楼更强哦
强强强
2008-11-21 14:59
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
六楼有个问题就是越到后来while循环的次数越多,耗时越多
原理还是插入时判断是否已经存在,只不过由Collection去做了

[[it] 本帖最后由 freish 于 2008-11-21 16:50 编辑 [/it]]
2008-11-21 16:45
快速回复:请教java习题!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021449 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved