P235 实战练习(集合类2)、摇奖程序和验证码(修改版)
1、分别向Set集合以及List集合中添加“A”、“a”、“c”、“C”、“a”5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加。
package org.hanqi.practise;
import java.util.*;
public class Test2 { public static void main(String[] args) { Set<String> s = new HashSet<String>();
s.add("A");
s.add("a");
s.add("c");
s.add("C");
s.add("a");
if(s.add("a"))
{
System.out.println("成功添加a");
}
else
{
System.out.println("添加a失败");
}
for(String t:s)
{
System.out.print(" "+t);
}
System.out.println();
System.out.println("s的长度="+s.size()); List<String> l = new ArrayList<String>();
l.add("A");
l.add("a");
l.add("c");
l.add("C");
l.add("a");
for(String t:l)
{
System.out.print(" "+t);
}
System.out.println();
System.out.println("s的长度="+l.size());
}
}
运行结果为:

结论:重复值“a”能在List集合中成功添加,而不能在Set集合中成功添加。
2、创建Map集合,创建Emp对象,并将创建的Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为005的对象从集合中移除。
创建Emp类:
package org.hanqi.practise;
public class Emp {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Emp(String id, String name) {
super();
this.id = id;
this.name = name;
}
}
创建MapTest类:
package org.hanqi.practise;
import java.util.*;
public class MapTest {
public static void main(String[] args) {
Map<String,String>m = new HashMap<String,String>();
Emp e = new Emp("005","张三");
Emp e1 = new Emp("9527","华安");
Emp e2 = new Emp("4927","刘建明");
Emp e3 = new Emp("27149","陈永仁");
m.put(e.getId(), e.getName());
m.put(e1.getId(), e1.getName());
m.put(e2.getId(), e2.getName());
m.put(e3.getId(), e3.getName());
for(String t:m.keySet())
{
System.out.println(t+" "+m.get(t));
}
System.out.println("移除编号005对象后的集合为:");
m.remove("005");
Set s = m.keySet();
Iterator<String>it = s.iterator();
while(it.hasNext())
{
String str = it.next();
String name = m.get(str);
System.out.println(str+" "+name);
}
}
}
运行结果为:

3、摇奖程序
package org.hanqi.practise;
import java.util.*;
public class Test3 {
public static void main(String[] args) {
Random r = new Random();
Set<Integer> s = new HashSet<Integer>(); //若用Set集合可不必进行下面if的判断,因为Set集合本身就不允许有重复值
while(s.size() < 10)
{
int i = r.nextInt(20);
if(!s.contains(i))
{
s.add(i);
}
}
System.out.println("从20里面随机抽取10个数:");
for(Integer t:s)
{
System.out.print(" "+t);
}
}
}
运行结果为:

方法二:
List<Object> list= new ArrayList<Object>(); //从1-28之间随机抽取9个不重复的数字
for(int i=1;i<=28;i++)
{
list.add(i);
}
Random r=new Random();
for(int i=0;i<9;i++)
{
int t=r.nextInt(list.size());
System.out.print(" " +list.get(t));
list.remove((list.get(t))); //这一步相当于得到一个数就移除list集合,这样就保证不会有重复的数值
}
4、随机产生四位验证码 0--9,a--z,A--Z随机取四个数作为验证码
//产生验证码 0--9,a--z,A--Z随机取四个数作为索引值产生验证码
List<Object> list= new ArrayList<Object>();
for(int i=0;i<10;i++)
{
list.add(i);
}
for(int i=65;i<=90;i++)
{
list.add((char)i);
}
for(int i=97;i<=122;i++)
{
list.add((char)i);
}
for(Object t:list)
{
System.out.print(t);
}
System.out.println();
Random r=new Random();
//产生四位数的验证码
System.out.print("四位数验证码:");
for(int i=1;i<=4;i++)
{
System.out.print(list.get(r.nextInt(list.size())));
}
运行结果为:

方法二:
public class Choujiang { //此为最普通的截取方法
public static void main(String[]args)
{
String str = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
Random yan=new Random();
for(int i=0; i<4; i++)
{
int j = yan.nextInt(str.length()-1);
String s = (str.substring(j, j+1));
System.out.print(s);
}
}
}
P235 实战练习(集合类2)、摇奖程序和验证码(修改版)的更多相关文章
- C语言,一个彩票摇奖程序摇出22选5的中奖号码
摇奖机摇奖,无非就是利用它的随机性,让球从摇奖机中随机地掉出,就成了中奖号码.而C语言中也同样有个rand()函数可以产生随机数,利用这个rand()函数产生的随机数,同样可以代替从摇奖机中随机摇出的 ...
- C#摇奖程序
private void Form1_Load(object sender, EventArgs e) { //取消跨线层访问控件的判断 Control.CheckForIllegalCrossThr ...
- [AHOI2001]彩票摇奖
[AHOI2001]彩票摇奖 题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一 项彩票.该彩票的规则是: (1) 每张彩票上印有 7 个各不相同的号码,且这些号码的取指范围为 1 ...
- php摇杆Tiger摇奖
先说下整体思路,代码已附下方. 1.递归产生一个非中奖数(即非连续数字:'111','222','333','444','555','666','777','888') 2.点击摇奖,把奖项通过设置的 ...
- 异步委托 多线程实现摇奖器 winform版
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- JAVA小项目之摇奖机
功能: 点击”摇杆“开始: 两种结束滚动方式,A:点击”摇杆“ B:分别点击 对应结果框的按钮: 实现最后减速停下来效果,模拟真实摇奖机. 知识点:A.线程的控制,B.图片轮播原理 效果图: 窗口 ...
- Android系统--输入系统(十五)实战_使用GlobalKey一键启动程序
Android系统--输入系统(十五)实战_使用GlobalKey一键启动程序 1. 一键启动的过程 1.1 对于global key, 系统会根据global_keys.xml发送消息给某个组件 & ...
- 3.2 Lucene实战:一个简单的小程序
在讲解Lucene索引和检索的原理之前,我们先来实战Lucene:一个简单的小程序! 一.索引小程序 首先,new一个java project,名字叫做LuceneIndex. 然后,在project ...
- 10.8 android输入系统_实战_使用GlobalKey一键启动程序
11. 实战_使用GlobalKey一键启动程序参考文章:Android 两种注册(动态注册和静态注册).发送广播的区别http://www.jianshu.com/p/ea5e233d9f43 [A ...
随机推荐
- Android ViewPager自动播放
在开发Android应用的过程中,ViewPager有时候需要自动播放的功能,今天就介绍一下自动播放功能的实现,直接上代码: // viewpager auto play private static ...
- java static
一. static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员 ...
- 【转发】Linux系统下安装rz/sz命令及使用说明
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...
- Jquery实现的Tabs标签页
效果图: HTML: <div class="tabs"> <ul id="tabs"> <li class="tab- ...
- python——周边
Pythonic的禅意 import this python是用c语言写的.传说python不止有C语言实现,还有java实现,还有python实现的python,甚至还有js实现的python. p ...
- 安装xampp后,遇到的各种问题
一.apache无法启动 1.查看端口是否被占用 80端口冲突,解决方法:打开目录C:\xampp\apache\conf(我的安装目录为C:\xampp)下的httpd.conf文件,将Listen ...
- HTML--10Jquery
在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...
- Oge中Mesh的渲染流程详述
转自:http://blog.csdn.net/yanonsoftware/article/details/1041396 首先一个Entity对象必须Attach到一个SceneNode. 1.创建 ...
- 使用HttpOnly提升Cookie安全性
在介绍HttpOnly之前,我想跟大家聊聊Cookie及XSS. 随着B/S的普及,我们平时上网都是依赖于http协议完成,而Http是无状态的,即同一个会话的连续两个请求互相不了解,他们由最 ...
- 文件操作I
<html> <head> <meta charset="utf-8"> </head> <body> <?php ...