一个抽奖程序:用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. [转]Oracle数据块体系的详细介绍

    数据块概述Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block).数据块是数据库中最小的(逻辑)数据单位.与数据块对应的,所有数据在操作系统级的最小 ...

  2. Intellij如何设置编译后自动重新加载class文件?

    前段时间突然发现Intellij不能自动重新加载类了,每次编译后都要重新启动项目,才能显示更新效果,后来网上查询Intellij下如何配置热部署,都说是要配置构件,然后在web容器的编辑页面选择upd ...

  3. Andriod如何更改应用程序小图标

    1.之前我们安装的第一个应用图标是这样的(如下图) 2.在eclipse左侧项目中找到res文件下的drawable-hdpi         3.把自己找的LOGO图标拖到文件中,之后会弹出一个消息 ...

  4. MySQL主主复制+MMM实现高可用

    架构图: 环境规划 角色 IP VIP 用途 DB1 192.168.56.101 192.168.56.111/113 主Master提供wirte+read DB2 192.168.56.102 ...

  5. springboot+solr

    整合完DB层,cache层,开始整合solr. 注入SolrClient, package hello.configuration; import java.net.MalformedURLExcep ...

  6. Java之内存诊断

    Java 内存诊断比较容易, 需要: 1 获取heap dump 2 分析heap dump 1.1 获取dump之1 VM arguments: -XX:+HeapDumpOnOutOfMemory ...

  7. 执行命令行, 并获取输出字符(比如OSQL)

    直接贴代码了, 没什么好说的, 很简单, 也不需要注释 function DoCMD(ACommand: AnsiString; var ACmdResult: string): Boolean; v ...

  8. C# 关键字【转】

      C#中的关键字 关键字是对编译器具有特殊意义的预定义保留标识符.它们不能在程序中用作标识符,除非它们有一个 @ 前缀.例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字. 下面是列 ...

  9. BundleConfig.cs

    namespace Knockout.App_Start { public class BundleConfig { public static void RegisterBundles(Bundle ...

  10. JMeter学习-038-JMeter Linux 环境配置

    1.1.下载 Download URL:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.0.tg ...