本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下

思想:

首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标得到幸运观众的名字。

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JTextField;

import javax.swing.JTextArea;

import javax.swing.JScrollPane;

import javax.swing.border.TitledBorder;

import javax.swing.JButton;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.UIManager;

import java.awt.Color;

public class ArrayExample extends JFrame {

private JPanel contentPane;

private JTextField nameField;

private JTextArea personnelArea;

private JTextArea resultArea;

/**@auther 葆宁

* Launch the application.

*/

public static void main(String[] args) {

try {

UIManager

.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

} catch (Throwable e) {

e.printStackTrace();

}

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

ArrayExample frame = new ArrayExample();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public ArrayExample() {

setTitle("\u5229\u7528\u6570\u7EC4\u968F\u673A\u62BD\u53D6\u5E78\u8FD0\u89C2\u4F17");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 498, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JPanel panel = new JPanel();

panel

.setBorder(new TitledBorder(

null,

"\u8F93\u5165\u5728\u573A\u89C2\u4F17\u59D3\u540D\u6309\u56DE\u8F66",

TitledBorder.LEADING, TitledBorder.TOP, null,

new Color(59, 59, 59)));

panel.setBounds(10, 10, 174, 242);

contentPane.add(panel);

panel.setLayout(new BorderLayout(0, 5));

nameField = new JTextField();

nameField.addKeyListener(new KeyAdapter() {

@Override

public void keyPressed(KeyEvent e) {

do_textField_keyPressed(e);

}

});

panel.add(nameField, BorderLayout.NORTH);

nameField.setColumns(10);

JScrollPane scrollPane = new JScrollPane();

panel.add(scrollPane);

personnelArea = new JTextArea();

personnelArea.setEditable(false);

scrollPane.setViewportView(personnelArea);

JPanel panel_1 = new JPanel();

panel_1.setBorder(new TitledBorder(null,

"\u9009\u53D6\u89C2\u4F17\u4EBA\u5458\uFF1A",

TitledBorder.LEADING, TitledBorder.TOP, null, new Color(59, 59,

59)));

panel_1.setBounds(183, 10, 219, 242);

contentPane.add(panel_1);

panel_1.setLayout(new BorderLayout(0, 0));

JScrollPane scrollPane_1 = new JScrollPane();

panel_1.add(scrollPane_1);

resultArea = new JTextArea();

resultArea.setEditable(false);

resultArea.setLineWrap(true);

scrollPane_1.setViewportView(resultArea);

JButton button = new JButton("\u62BD\u53D6");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

do_button_actionPerformed(e);

}

});

button.setBounds(407, 164, 63, 25);

contentPane.add(button);

JButton button_1 = new JButton("\u9000\u51FA");

button_1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

do_button_1_actionPerformed(e);

}

});

button_1.setBounds(407, 215, 63, 25);

contentPane.add(button_1);

}

protected void do_textField_keyPressed(KeyEvent e) {

if (e.getKeyChar() != '\n')// 不是回车字符不做处理

return;

String name = nameField.getText();

if (name.isEmpty())// 如果文本框没有字符串不做处理

return;

personnelArea.append(name + "\n");// 把输入人名与回车符添加到人员列表

nameField.selectAll();// 选择文本框所有字符

}

protected void do_button_actionPerformed(ActionEvent e) {

String perstring = personnelArea.getText();// 获取人员列表文本

String[] personnelArray = perstring.split("\n{1,}");// 获取人员数组

int index = (int) (Math.random() * personnelArray.length);// 生成随机数组索引

// 定义包含格式参数的中奖信息

String formatArg = "本次抽取观众人员:\n\t%1$s\n恭喜%1$s成为本次观众抽奖的大奖得主。"

+ "\n\n我们将为%1$s颁发:\n\t过期的酸奶二十箱。";

// 为中奖信息添加人员参数

String info = String.format(formatArg, personnelArray[index]);

resultArea.setText(info);// 在文本域显示中间信息

}

protected void do_button_1_actionPerformed(ActionEvent e) {

dispose();

}

}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

java利用数组随机抽取幸运观众_java利用数组随机抽取幸运观众相关推荐

  1. java数组随机抽取分布均匀_java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...

  2. 使用java模拟幸运抽奖_JAVA之模拟注册登录幸运抽奖

    import java.util.Scanner; public class LuckyNum{ /** * 幸运抽奖 */ public static void main(String[] args ...

  3. java 二维数组 的方法和属性_Java一维数组和二维数组详解(Java必备知识)

    数组是最为常见的一种数据结构,分为一级数组,二维数组以及多维数组.是把相同数据类型的元素,用一个标识符封装到一起的基本类型数据序列或对象序列. 目录 一维数组 创建一维数组 给一维数组赋值 获取数组的 ...

  4. java集合作为参数 传递的是_Java:数组和集合类作为参数传递时的差别

    最近在做项目时遇到一个List集合作为参数传递的问题,想起了以前总结的参数传递,参数传递包括值传递和引用传递,集合类的参数应该属于引用传递,脑子里突然就闪现到了数组,感觉数组也是一种特殊的集合,也应该 ...

  5. java随机生成中文昵称_Java 中文姓名随机生成

    项目要求产生一些模拟的中文姓名,我的想法是先产生姓氏,再随机产生名字,可以是两个字的也可以是三个字的.使用的是 GB2312实现的中文字,可自行百度"信息交换用汉字编码字符集"了解 ...

  6. java反射出抽象类的实现类_java利用反射模式调用实现类

    本文主讲,java利用反射模式调用接口的实现类.抽象类的继承子类.下面请听一一道来 1.第一步在src下创建com.newer.reflex包 2.在com.newer.reflex包下面建立IRef ...

  7. java 随机生成简体汉字_Java代码实现随机生成汉字的方法|chu

    一.背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集・基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆 ...

  8. java如何读取word的占位符_java利用xml导出word(占位符替换)

    Element picElement = (Element)tElements.item(i); if(picElement.getTextContent().equals(tag)){ picEle ...

  9. java根据日期生成表主键_java 利用时间生成主键

    private final static Vector KEY_POOL = new Vector<>(); /** 主键生成 @return */ static public synch ...

最新文章

  1. Ionic2中集成第三方控件Sweetalert
  2. Linux中添加、修改、删除用户和用户组
  3. [XSY3112] 接水果(树上包含路径,整体二分,扫描线)
  4. [转载] Python-Strings
  5. httpclient base64 文件上传_代码级别的上传下载神器
  6. Linux内核网络协议栈6-socket地址绑定(2)
  7. stack 和 heap区别
  8. 福州大学计算机学院软件实力,福建五大重点大学,哪一所实力最好?
  9. git官网下载慢的问题解决方法
  10. 2D激光雷达运动畸变矫正_base里程计
  11. matlab标题斜体_Matlab中下标,斜体,及希腊字母的使用方法
  12. 做抖音自媒体能赚钱吗?
  13. jumpserver版本升级(1.3.1升级到最新版)
  14. 移动应用性能测试简介
  15. 软件测试大牛成长计划
  16. 浅谈autolayout
  17. 《算法和数据结构》LeetCode 篇
  18. 蔡氏混沌matlab,蔡氏混沌电路的MATLAB仿真研究_高见芳
  19. E4X - 维基百科,自由的百科全书
  20. 鸿蒙系统电视家,华为智慧屏S系列下载哪个直播软件最好?分享用当贝市场下载直播软件方法...

热门文章

  1. matlab创建nc文件怎么打开,MATLAB打开nc文件并读取nc文件数据
  2. 想学高级软件测试去哪里学,软件测试要学多久
  3. c语言 存储,c语言存储类
  4. java中 15db9742_请问我这个报错[I@15db9742是怎么回事啊?
  5. 量子计算机西南交大,交大量子光电实验室
  6. python程序是由一系列代码组成的_以下选项中,对程序的描述错误的是() (6.0分)_学小易找答案...
  7. MySql 学习笔记-Mysql架构介绍与查询sql执行流程
  8. Android 快速实现微信支付(真的!很快!)
  9. android sudio提示快捷键冲突解决
  10. 不同于其他写脚本的同类文章,使用软件取消赞和关注收藏