`

实例044 - 利用数组随机抽取幸运观众

 
阅读更多

心法领悟044:数组的静态初始化

在创建与初始化数组时,通常是先定义指定类型的数组变量,然后用new关键字创建数组,再分别对数组元素进行赋值。例如:

int[] array = new int[3];

array[0]=1;

array[1]=2;

array[2]=3;

Java支持静态数组初始化,在定义数组的同时为数组分配空间并赋值。例如:

int[] array = {1,2,3,4};

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
//import javax.swing.JLabel;
//import javax.swing.JComboBox;
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 java.util.Random;
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;
    
    /**
     * 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();
    }
}

 

 

  • 大小: 12.3 KB
分享到:
评论

相关推荐

    java利用数组随机抽取幸运观众

    在Java编程语言中,随机抽取幸运观众可以通过数组来实现,这是编程中常见的一个操作,用于从一组数据中随机选择一个或多个数据项。以下是对【标题】和【描述】中所述知识点的详细说明: ### 知识点一:数组的定义和...

    Java实例-幸运观众手机号码抽取器.doc

    本项目的目的是设计和实现一个幸运观众手机号码抽取器,能够随机抽取观众的手机号码,并将中奖者的手机号码公布出来。 1.3 实验原理 本项目的原理是使用 Java 语言来实现一个随机抽奖程序,使用数据库来存储观众的...

    利用随机函数抽取幸运数字.zip

    本篇将详细探讨如何利用Java的随机函数来抽取幸运数字。 首先,我们需要了解Java中的`java.util.Random`类,它是Java标准库中用于生成随机数的类。`Random`类提供了一系列方法,可以生成不同类型的随机数,包括整数...

    Java经典编程源码基础例程300.zip

    实例033 利用数组随机抽取幸运观众 47 实例034 用数组设置JTable表格的 列名与列宽 49 实例035 使用按钮控件数组实现 计算器界面 51 实例036 通过复选框控件数组实现 添加多个复选框控件 52 实例037 使用选择排序法...

    jquery幸运观众头像随机抽奖代码.rar

    "jquery幸运观众头像随机抽奖代码"就是一个这样的实例,它利用jQuery库来实现一个随机抽取幸运观众头像的功能。jQuery是一个高效、简洁且易用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等...

    PHP函数shuffle()取数组若干个随机元素的方法分析

    此函数可以结合shuffle()函数使用,实现从数组中随机抽取特定数量元素的功能。 为更深入掌握PHP编程知识,读者可以参考以下专题: - 《PHP运算与运算符用法总结》 - 《PHP网络编程技巧总结》 - 《PHP基本语法入门...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例044 利用数组随机抽取幸运观众 54 实例045 用数组设置JTable表格的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组...

    java源码包---java 源码 大量 实例

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件 4个...

    幸运抽奖项目.zip

    通过设定一定的范围,我们可以模拟出从一组候选人或奖品中随机抽取的结果。例如,我们可以创建一个包含所有可能选项的数组,然后用随机数索引来选取幸运者。 条件判断(如if语句)则用于设置抽奖规则,比如限制抽奖...

    jQuery手机九宫格幸运抽奖代码

    总的来说,“jQuery手机九宫格幸运抽奖代码”是一个结合了HTML、CSS和JavaScript技术的移动应用实例,展示了如何利用jQuery库实现动态、互动的网页效果。开发者可以通过修改这些代码来适应自己的需求,比如更改奖项...

    JAVA上百实例源码以及开源项目源代码

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

    JavaScript实现随机点名器实例详解

    代码中只实现了一等奖、二等奖、三等奖各一名幸运员工的随机抽取,但可以根据实际需要增加更多的奖项和获奖名额,甚至可以添加按钮来实现不同的功能,比如清除已经选中的幸运员工名单,或者重新开始新一轮的点名等。...

    java源码包2

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件...

    java源码包3

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件...

    java源码包4

    利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实世界模型  基于EJB的真实世界模型,附源代码,部分功能需JSP配合完成。 J2ME优化压缩PNG文件...

Global site tag (gtag.js) - Google Analytics