一个抽奖程序:用ArrayList类和random类

import java.awt.*;

import javax.swing.*;

import java.awt.event.;

import java.util.
;

import java.util.List;

public class jRandom extends JFrame {

private JFrame frame;

private JButton startBUtton;

public jRandom() {
makeFrame();
frame.pack();
frame.setVisible(true);
frame.setSize(400, 215);
frame.setLocation(550, 350);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} private void makeFrame() { frame = new JFrame(" 抽个奖吧!");
ImageIcon imageIcon0 = new ImageIcon("t/1.png");
frame.setIconImage(imageIcon0.getImage());
Container contentPane = frame.getContentPane();
startBUtton = new JButton();
ImageIcon imageIcon1 = new ImageIcon("t/3.png");
ImageIcon imageIcon2 = new ImageIcon("t/4.png");
ImageIcon imageIcon3 = new ImageIcon("t/5.png");
startBUtton.setIcon(imageIcon1);// 设置按钮形状
startBUtton.setRolloverIcon(imageIcon2);// 设置鼠标滑过按钮的图像
startBUtton.setPressedIcon(imageIcon3);// 设置鼠标按下按钮的形状
startBUtton.setMargin(new Insets(0, 0, 0, 0)); // 设置按钮边框与边框内容之间的像素数
startBUtton.setBorderPainted(false); // 不绘制边框 // 按钮事件监听
startBUtton.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
makechoujiang();
}
});
contentPane.add(startBUtton, BorderLayout.CENTER); } private void makechoujiang() {
double baseNum = 0.50;
String product = "100元,200元,500元,1000元";
String num = "30,20,5,3";
String[] p = product.split(",");
String[] n = num.split(",");
Random ran = new Random();
double base = ran.nextDouble();
if (base > baseNum) {
ImageIcon imageIcon = new ImageIcon("t/2.png");
JOptionPane.showMessageDialog(frame, "请您继续努力!", "抽奖结果",
JOptionPane.PLAIN_MESSAGE, imageIcon);
return;
} List<String> list = new ArrayList<String>();
for (int i = 0; i < p.length; i++) {
for (int j = 0; j < Integer.parseInt(n[i]); j++) {
list.add(p[i]);
}
}
// 打乱奖池数据
int l = ran.nextInt(list.size());
ImageIcon imageIcon = new ImageIcon("t/1.png");
JOptionPane.showMessageDialog(frame, "恭喜您中了" + list.get(l) + "哟!!",
"抽奖结果", JOptionPane.PLAIN_MESSAGE, imageIcon); } public static void main(String[] args) {
// TODO Auto-generated method stub
new jRandom();
}

}

程序界面如下:

java第六次作业的更多相关文章

  1. 1903021116—吉琛—Java第六周作业—类的定义

    项目 内容 课程班级博客链接 19信计班 这个作业要求链接 第六周作业链接 java面向对象的概念和定义 博客名称 学号-姓名-Java第六周作业-题目自拟 要求 每道题要有题目,代码(使用插入代码, ...

  2. Java第六次作业--异常处理和Java类集

    Deadline: 2017-5-4 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 理解Java的异常处理机制 掌握捕获异常和声明抛出异常的方法 掌握List接口的实现类Array ...

  3. 1903021121—刘明伟—Java第六周作业—java类

    项目   内容 课程班级博客链接  19信计班(本) 作业要求链接 第6周作业 扩展阅读 java面向对象的概念和定义 作业要求 每道题要有题目,代码,截图(只截运行结果). 题目1: 一个Phone ...

  4. java第六次作业(老师讲过后)

    import java.util.*; public class Draw { private ArrayList list; public Draw() { list= new ArrayList( ...

  5. Java第六次作业修改版

    import java.util.ArrayList; import java.util.Collections; import java.util.Random; public class Draw ...

  6. 201521123058 java第六次作业

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1.clone方法 1.1 Object对 ...

  7. java第六周作业

    1  JSF请求处理生命周期的高度概述 从历史上看,Web应用程序必需的大部分开发,主要是处理Web客户端的HTTP请求.随着Web从传统的静态文档传送模型(在这种模型中,只请求静态Web页面,没有参 ...

  8. Java第六次作业:RuPengGame setGameSize setGameTitle alert loadBgView playSound pause closeSound confirm input createText setTextPosition setTextColor setTextFontSize hideText showText CreateImage(number)

    package com.swift; import java.awt.Color; import com.rupeng.game.GameCore;//导入游戏引擎包 //实现Runnable接口 p ...

  9. Week06《Java程序设计》第六次作业总结

    Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...

随机推荐

  1. 编写一个简单的jdbc例子程序

    package it.cast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Res ...

  2. 【SIGGRAPH】【最终幻想XV】的战斗场景实时演示的要点解说

    [SIGGRAPH][最终幻想XV]的战斗场景实时演示的要点解说 原文:西川善司 http://www.4gamer.net/games/999/G999902/20160730004/        ...

  3. 更换Mac记录

    1. 重装Mac (1)格式化硬盘 (2)重装系统 (3)修改各种配置:电脑名.键盘等 2. 安装必要软件 (1)QQ.微信.网易云音乐等 (2)火狐.谷歌.SourceTree等 (3)安装Git ...

  4. INotifyPropertyChanged, Interface

    Data Object(class) impliment INotifyPropertyChanged; then the Object can update BindingSource. Impli ...

  5. c语言编程

    1.常量和变量:变量是一块内存空间,该内存空间有类型约束,该内存中存放的数据可变. 变量三要素:类型,名称,值.常量:常量的数据永远不变,a:自变量,b:符合常量,c:预定义常量. 2.运算符和返回类 ...

  6. 关于IOS的唯一标识总结

    APPLE官方宣布在2013年5月后,使用 UUID的APP将不能通过审核,同时APPLE增加了广告标识符(IDFA)和IDFV. 1.有什么方法获取UUID? //CFUUID CFUUIDRef ...

  7. WCF (413) Request Entity Too Large

    有网友碰到过这样的问题:wcf 远程服务器返回了意外响应: (413) Request Entity Too Large. - wsx_net,问题详细内容为:挺不错的博文:wcf 远程服务器返回了意 ...

  8. Title Case a Sentence

    解决思路 将字符串转换成小写 把字符串分割成字符串数组 循环数组将每一个单词首字母大写 把数组所有的元素转换成一个字符串 第一种方法 function titleCase(str) { str=str ...

  9. java中字节流与字符流的区别

    字节流 在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字 ...

  10. ubuntu14.0 (arm平台)源码安装 VLC播放器

    环境 ubuntu14.0  arm开发板 源 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty main multiverse restrict ...