| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 696 人关注过本帖
标题:本人菜鸟 寻求答案
只看楼主 加入收藏
向上吧ん丫头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
本人菜鸟 寻求答案
Java实践幸运观众问题
假设某班级有20个同学(姓名无重名) 参加某个晚会,晚会上随机抽出5名幸运观众(程序结果显示出幸运观众的名字)

请问大神这该怎么编程序。= = 求过程

 谢谢帮忙!
搜索更多相关主题的帖子: 幸运 Java 姓名 
2015-06-20 17:16
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1503
专家分:6593
注 册:2010-7-5
收藏
得分:10 
思路是

假设20个人的名字,在数据库中

创建一个数组,调出数据库中的人名

循环产生五个20以内的随机数,但不能有重复

将产生的随机数作为数组下标,得出五个幸运名单

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2015-06-20 18:11
向上吧ん丫头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-20
收藏
得分:0 
回复 2楼 不懂才问
能帮我把程序直接编出来吗

实在不会 初学 上课没怎么懂
谢谢谢谢
2015-06-21 13:44
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:10 
程序代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class 幸运观众 {
    public static void main(String[] args) {
        String firstName[]={"赵","钱","孙","李","周","吴","郑","王","冯","陈","楮","卫","蒋","沈","韩","杨","朱","秦","尤","许"};
        String lastName[]={"三","四","五","六","七","八","九","伟","楠","理","平","好","富","故","佳","家","云","逢","风","嘻"};
        Person p[]=new Person[20];
        List list1=Arrays.asList(firstName);
        List list2=Arrays.asList(lastName);
        ArrayList arraylist1=new ArrayList(list1);
        ArrayList arraylist2=new ArrayList(list2);
        for (int i = 0; i < p.length;) {
            int a=((int)(Math.random()*100))%(list1.size());
            int b=((int)(Math.random()*100))%(list2.size());
            if(a>=arraylist1.size()||b>=arraylist2.size())
                continue;
            p[i]=new Person();
            p[i].setId(i);
            p[i].setName(arraylist1.get(a).toString()+arraylist2.get(b).toString());
            arraylist1.remove(a);
            arraylist2.remove(b);
            i++;
            }
        
        List<Integer> alist=new ArrayList<Integer>();
        for(int i=0;i<5;){
            int a=((int)(Math.random()*100))%20;
           if(!alist.contains(a)&&a!=0){
               alist.add(a);
                i++;
           }
        }
        System.out.println("幸运观众:");
        for (int i = 0; i < 5; i++) {
            System.out.println(p[ alist.get(i)].getId()+"号\t"+p[alist.get(i)].getName()+"\t成为幸运观众");
        }
        
    }
    
}
class Person{
    private String name;
    private int id;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}

/**
幸运观众:
15号    卫四    成为幸运观众
2号    朱好    成为幸运观众
4号    周九    成为幸运观众
13号    楮七    成为幸运观众
14号    秦云    成为幸运观众


*/
//你应该看看吧规………………

[ 本帖最后由 秦时的明月夜 于 2015-6-21 16:39 编辑 ]
2015-06-21 16:03
向上吧ん丫头
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-20
收藏
得分:0 
回复 4楼 秦时的明月夜
这个老师讲过的 没懂 打算请人帮我编译出来好好琢磨= = 可能我比较笨 学的太慢了  十分谢谢你的帮助
2015-06-21 16:37
秦时的明月夜
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:13
帖 子:126
专家分:504
注 册:2013-3-12
收藏
得分:0 
回复 4楼 秦时的明月夜
刚才没有判断重复情况……我改改了该……
2015-06-21 16:41
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
 import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class game {
    public static void main(String[] args) {
        String firstName[]={"赵","钱","孙","李","周","吴","郑","王","冯","陈","楮","卫","蒋","沈","韩","杨","朱","秦","尤","许"};
        String lastName[]={"三","四","五","六","七","八","九","伟","楠","理","平","好","富","故","佳","家","云","逢","风","嘻"};
        Person p[]=new Person[20];
        List<String> list1=Arrays.asList(firstName);
        List<String> list2=Arrays.asList(lastName);
        ArrayList<String> arraylist1=new ArrayList<String>(list1);
        ArrayList<String> arraylist2=new ArrayList<String>(list2);
        for (int i = 0; i < p.length;i++) {
            int a=((int)(Math.random()*100))%(list1.size());
            int b=((int)(Math.random()*100))%(list2.size());
            if(a>=arraylist1.size()||b>=arraylist2.size())
                continue; 
            String names=arraylist1.get(a).toString().trim()+arraylist2.get(b).toString().trim();
            for(int j=0;j<i;j++)
                if(p[j].getName().equals(names)){
                    i--;
                    continue;
                }
            p[i]=new Person();
            p[i].setId(i);
            p[i].setName(names); 
        }
        List<Integer> alist=new ArrayList<Integer>();
        for(int i=0;i<5;i++){
            int a=((int)(Math.random()*100))%20;
           if(!alist.contains(a)&&a!=0){
               alist.add(a); 
           }
           else i--;
        }
        System.out.println("幸运观众:");
        for (int i = 0; i < 5; i++) {
            System.out.println(p[alist.get(i)].getId()+"号\t"+p[alist.get(i)].getName()+"\t成为幸运观众");
        }
        
    }
    
}
class Person{
    private String name;
    private int id;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}

剑栈风樯各苦辛,别时冰雪到时春
2015-06-21 18:37
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1503
专家分:6593
注 册:2010-7-5
收藏
得分:0 
回复 3楼 向上吧ん丫头
其实,我只知道思路,具体怎么做,就不知道了,哈哈

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2015-06-21 20:31
快速回复:本人菜鸟 寻求答案
数据加载中...
 
   



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

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