本文实例为大家分享了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一维数组和二维数组详解(Java必备知识)

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

  3. c语言程序定义不知数量的一维数组,c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组.ppt...

    c语言程序设计10-第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 * 临沂大学汽车学院:韩晓翠 第6章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 授课要点 数组的概念 一维 ...

  4. ios 数组中的字典排序_利用数组和字典,实现按指定规则的排序

    大家好,今日我们继续讲解数组与字典解决方案,今日讲解第47讲:利用字典和数组,实现按指定规则的排序.随着字典讲解的深入,我们发现字典真的很神奇,在VBA代码中,给人以十分清爽的感觉,在这套数组与字典解 ...

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

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

  6. Java与JavaScript 完美实现字符串拆分(利用数组存储)与合并的互逆操作

    Java: String typeStr = "1,2"; String[] typeArray = typeStr.split(","); typeStr = ...

  7. java mysql 文本导入数据语句_Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL...

    Mysql load data的使用 数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这种备份文件在MySQL中是SQL脚本,实际上执行的还是在批量IN ...

  8. java 写数据到pdf模板_java利用itext填写pdf模板并导出

    1.先用word做出界面 2.再转换成pdf格式 3.用Adobe Acrobat 打开你刚刚用word转换成的pdf 会出现如下界面 下一步 点击浏览,选择刚才你转换好的pdf 下一步 4.打开后它 ...

  9. java去重复元素并打印_Java打印数组中重复元素

    Java打印数组中重复元素 1 说明 在此程序中,我们需要打印数组中存在的重复元素.这可以通过两个循环来完成.第一个循环将选择一个元素,第二个循环将通过将所选元素与其他元素进行比较来遍历整个数组.如果 ...

最新文章

  1. C# 2.0 的partial
  2. Android应用签名详解 Eclipse+ADT
  3. poj 1469 COURSES
  4. 新生替代Reflector的反编译软件ILSpy
  5. velocity用法简单实例说明 .
  6. 来自内蒙古草原的摇滚歌手
  7. 包含html语言的超链接标记的网页_零基础入门 HTML 的 8 分钟极简教程
  8. 老板看似表面风光,可能还没有员工赚得多
  9. matlab字体设置
  10. Linux网络配置与远程连接
  11. 现场打分实时展示系统-Web版(英文名:WebShow)使用疑难问题汇编
  12. Kudu:支持快速分析的新型Hadoop存储系统
  13. Zabbix SNMP traps使用
  14. singleTask和startActivityResult
  15. 大小写金额转换html,小写金额转为大写金额JS代码怎么写呢?
  16. 【k8s系列5】KubernetesClientException: too old resource version 原因分析
  17. HTML5期末大作业:茶页文化网站设计——气高端企业自适应响应式网站模板(6个页面) HTML+CSS+JavaScript
  18. Symbian UIQ简介
  19. 苹果ios APP怎么打包?
  20. week16 CSP-M4-B ZJM要抵御宇宙射线

热门文章

  1. c语言二级考试真题新疆,新疆自治区计算机二级C语言考试题库.doc
  2. oracle的have,Does oracle have “auto number” data type [duplicate]
  3. 家装强电弱电布线图_家装水电安装技巧?水电验收技巧?
  4. windows下多tomcat部署
  5. STM平台增加性能测试/稳定性测试部分【一】
  6. 使用Jmeter压力测试工具测试
  7. Django开发基础----操作数据库
  8. iOS 配置pch文件
  9. PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...
  10. 智能车C车电机传递函数计算