栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

本文实例为大家分享了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;

  
  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();
 }
      }
    });
  }

  
  public ArrayExample() {
    setTitle("u5229u7528u6570u7EC4u968Fu673Au62BDu53D6u5E78u8FD0u89C2u4F17");
    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,
     "u8F93u5165u5728u573Au89C2u4F17u59D3u540Du6309u56DEu8F66",
     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,
 "u9009u53D6u89C2u4F17u4EBAu5458uFF1A",
 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("u62BDu53D6");
    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("u9000u51FA");
    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 = "本次抽取观众人员:nt%1$sn恭喜%1$s成为本次观众抽奖的大奖得主。"
 + "nn我们将为%1$s颁发:nt过期的酸奶二十箱。";
    // 为中奖信息添加人员参数
    String info = String.format(formatArg, personnelArray[index]);
    resultArea.setText(info);// 在文本域显示中间信息
  }

  protected void do_button_1_actionPerformed(ActionEvent e) {
    dispose();
  }
}

效果图:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/138270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号