| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 818 人关注过本帖
标题:随机数抽取 题目如下
只看楼主 加入收藏
NCNIIT
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-3-18
收藏
 问题点数:0 回复次数:1 
随机数抽取 题目如下



  输入一批数据,随机抽取n个数


 要求:1:显示输入数据

       2:n可以任意定

       3:显示抽取数据

       4:数据重复可否自定
搜索更多相关主题的帖子: 随机数 抽取 
2009-09-28 19:38
我爱JAVA1
Rank: 2
等 级:论坛游民
帖 子:27
专家分:22
注 册:2009-9-9
收藏
得分:0 
我写了下 有点乱 不好意思
import java.util.*;
import java.math.*;
public class randomnum  
{
    public static void main(String[] args)  
    {
        Scanner in = new Scanner(System.in);
        int n=0,random=1;
        int[] b = new int[100];
        int[] rannum = new int[100];
        Boolean start = true;
        int num1=1;
     
        System.out.println("请输入要随机取数的个数n");
        int num = in.nextInt();
        System.out.println("请输入取出的数能否重复(1/0)");
        int c = in.nextInt();
            System.out.println("请输入一串整数");
        while(in.hasNextInt())
        {
            int i;
            b[n] = in.nextInt();
            n++;
        }
        for(int i=1;i<n;i++)
        {
            int j;
            for(j=0;j<i;j++)
            {
                if(b[j]==b[i])
                break;
            }
            if(j==i)
            num1++;         
        }
        if(c==1)
        {
            if(n<num)
            {
                System.out.println("取不到那么多个不同的随机数");
                System.exit(0);
            }
            for(int i=0;i<num;i++)
            {
                random = (int)(Math.random()*(n-1));
                rannum[i] = b[random];
            }
        }
        else if(c==0)
        {
            if(num1<num||n<num)
            {
                System.out.println("取不到那么多个不同的随机数");
                System.exit(0);
            }
            else
            {
            for(int i=0,j=1;i<num;i++,j++)
            {
                while(start)
                {
                    random = (int)(Math.random()*(n-1));
                    for(int k=0;k<j;k++)
                {
                    if(rannum[k]!=b[random])
                        start = false;
                    else
                    {
                        start=true;
                        break;
                    }
                }
                }
                rannum[i] = b[random];
                start = true;
            }
            }
        }
 
 
        for(int i=0;i<n;i++)
        {
            System.out.print(b[i]+" ");
        }
        System.out.println("");
 
        for(int i=0;i<num;i++)
            {
            System.out.print(rannum[i]+" ");
        }
        System.out.println("");
 
 
         
    }
}
2009-09-28 22:56
快速回复:随机数抽取 题目如下
数据加载中...
 
   



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

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