欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java利用數(shù)組隨機抽取幸運觀眾如何實現(xiàn)

 更新時間:2014年02月18日 17:31:14   作者:  
這篇文章主要介紹了Java利用數(shù)組隨機抽取幸運觀眾如何實現(xiàn),需要的朋友可以參考下

編寫程序,事先將所有觀眾姓名輸入數(shù)組,然后獲得數(shù)組元素的總數(shù)量,最后在數(shù)組元素中隨機抽取元素的下標(biāo),根據(jù)抽取的下標(biāo)獲得幸運觀眾的姓名。

思路如下:

定義輸入框的按鍵事件,使用KeyEvent類的getKeyChar()函數(shù)判斷其是否是回車字符,若不是則不作處理;
使用isEmpty()函數(shù)判斷文本框中是否有字符串,如果沒有字符串則不做處理;
若為合法輸入則通過JTextArea類的append()方法把輸入人名與回車符添加到人員列表;
使用selectAll()方法選擇文本框所有字符;
定義點擊“抽取”按鈕時執(zhí)行的函數(shù),通過JTextArea類的getText()方法獲取人員列表文本,存入字符串;
創(chuàng)建一個字符串型一維數(shù)組,將之前的字符串按回車符分割后存入該數(shù)組;
通過Math.random()生成隨機數(shù)組索引,作為中獎?wù)叩臄?shù)組下標(biāo);
定義包含格式參數(shù)的中獎信息;
通過String類的format()方法為中獎信息添加人員參數(shù);
使用JTextArea類的setText()方法在文本域顯示中獎信息;
定義點擊“退出”按鈕時執(zhí)行的函數(shù),使用System.exit(0)方法退出程序。
代碼如下:

復(fù)制代碼 代碼如下:

package cn.edu.xidian.crytoll;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

public class ArrayExample {

    private JFrame frame;
    private JTextField textField;
    private JScrollPane scrollPane;
    private JLabel label_1;
    JTextArea textArea = new JTextArea();
    private JTextArea textArea_1;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ArrayExample window = new ArrayExample();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public ArrayExample() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame("利用數(shù)組隨機抽取幸運觀眾");
        frame.setBounds(100, 100, 500, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);

        JLabel label = new JLabel("\u8F93\u5165\u5728\u573A\u89C2\u4F17\u59D3\u540D\u6309\u56DE\u8F66");
        label.setBounds(10, 10, 132, 15);
        frame.getContentPane().add(label);

        textField = new JTextField();
        textField.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                do_textField_keyPressed(e);
            }
        });
        textField.setBounds(10, 35, 132, 21);
        frame.getContentPane().add(textField);
        textField.setColumns(10);

        scrollPane = new JScrollPane();
        scrollPane.setBounds(10, 66, 132, 185);
        frame.getContentPane().add(scrollPane);    

        textArea_1 = new JTextArea();
        scrollPane.setViewportView(textArea_1);

        label_1 = new JLabel("\u9009\u53D6\u89C2\u4F17\u4EBA\u5458\uFF1A");
        label_1.setBounds(180, 10, 132, 15);
        frame.getContentPane().add(label_1);

        
        textArea.setBounds(180, 34, 214, 217);
        frame.getContentPane().add(textArea);

        JButton button = new JButton("\u62BD\u53D6");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                do_button_actionPerformed(e);
            }
        });
        button.setBounds(404, 187, 70, 23);
        frame.getContentPane().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(404, 228, 70, 23);
        frame.getContentPane().add(button_1);
    }
    protected void do_textField_keyPressed(KeyEvent e) {
        if (e.getKeyChar() != '\n')// 不是回車字符不做處理
            return;
        String name = textField.getText();
        if (name.isEmpty())// 如果文本框沒有字符串不做處理
            return;
        textArea_1.append(name + "\n");// 把輸入人名與回車符添加到人員列表
        textField.selectAll();// 選擇文本框所有字符
    }
    protected void do_button_actionPerformed(ActionEvent e) {
        String perstring = textArea_1.getText();// 獲取人員列表文本
        String[] personnelArray = perstring.split("\n{1,}");// 獲取人員數(shù)組
        int index = (int) (Math.random() * personnelArray.length);// 生成隨機數(shù)組索引
        // 定義包含格式參數(shù)的中獎信息
        String formatArg = "本次抽取觀眾人員:\n\t%1$s\n恭喜%1$5s成為本次觀眾抽獎的大獎得主。"
                + "\n\n我們將為%1$5s頒發(fā):\n\t過期的酸奶二十箱。";
        // 為中獎信息添加人員參數(shù)
        String info = String.format(formatArg, personnelArray[index]);
        textArea.setText(info);// 在文本域顯示中獎信息
    }
    protected void do_button_1_actionPerformed(ActionEvent e) {
        System.exit(0);
    }
}

效果如圖所示:

相關(guān)文章

  • SpringCloud網(wǎng)關(guān)組件zuul實例解析

    SpringCloud網(wǎng)關(guān)組件zuul實例解析

    這篇文章主要介紹了SpringCloud網(wǎng)關(guān)組件zuul實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java中Stream?Filter多條件篩選過濾代碼舉例

    Java中Stream?Filter多條件篩選過濾代碼舉例

    這篇文章主要給大家介紹了關(guān)于Java中Stream?Filter多條件篩選過濾的相關(guān)資料,Java Stream中的filter方法可以使用多個條件來過濾數(shù)據(jù),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-12-12
  • 圖文詳解Java線程和線程池

    圖文詳解Java線程和線程池

    下面小編就為大家?guī)硪黄斦凧ava的線程和線程池。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • SpringMVC實現(xiàn)文件上傳下載的全過程

    SpringMVC實現(xiàn)文件上傳下載的全過程

    對于上傳功能,我們在項目中是經(jīng)常會用到的,比如用戶注冊的時候,上傳用戶頭像,這個時候就會使用到上傳的功能,而對于下載使用場景也很常見,下面這篇文章主要給大家介紹了關(guān)于SpringMVC實現(xiàn)文件上傳下載的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Java編程接口回調(diào)一般用法代碼解析

    Java編程接口回調(diào)一般用法代碼解析

    本文的主要內(nèi)容是同過實際代碼向大家展示Java編程中接口回調(diào)的一般用法,具有一定參考價值,需要的朋友可以了解下
    2017-09-09
  • Spring MVC參數(shù)自動綁定List的解決方法

    Spring MVC參數(shù)自動綁定List的解決方法

    這篇文章主要為大家詳細(xì)介紹了Spring MVC參數(shù)自動綁定List的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • mybatis的插件機制示例詳解

    mybatis的插件機制示例詳解

    這篇文章主要給大家介紹了關(guān)于mybatis插件機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 一名Java高級工程師需要學(xué)什么?

    一名Java高級工程師需要學(xué)什么?

    作為一名Java高級工程師需要學(xué)什么?如何成為一名合格的工程師,這篇文章給了你較為詳細(xì)的答案,需要的朋友可以參考下
    2017-08-08
  • Java日常練習(xí)題,每天進步一點點(54)

    Java日常練習(xí)題,每天進步一點點(54)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • Spring AOP + 注解實現(xiàn)統(tǒng)一注解功能

    Spring AOP + 注解實現(xiàn)統(tǒng)一注解功能

    本文我們通過Spring AOP和Java的自定義注解來實現(xiàn)日志的插入功能,非常不錯,具有一定的參考借鑒價值,需要的朋友一起看看吧
    2018-05-05

最新評論