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 ...
随机推荐
- Problem K 栈
Description A math instructor is too lazy to grade a question in the exam papers in which students a ...
- ScrollView中嵌入ListView,GridView冲突的解决(让ListView全显示出来)
ScrollView中嵌入原生ListView或GridView,会出现ListView,GridView显示不全的问题. 解决方法:重新构造一个ListView或GridView,重写OnMeasu ...
- 测试bug级别定义
致命bug:不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或者挂起等导致系统不能正常运行. 修改优先级为最高,该级别问题需要立即修改. 1.系统崩溃 2.导致程序重启,死机或非法 ...
- windows操作系统日常使用
快捷键使用: 看实例,学经验,我看行. 1.人体学输入设备被禁用怎么办(鼠标被禁用.键盘被禁用) 有一天脑子抽风,把鼠标给禁用了.以前不常用快捷键,这下必须学学怎么使用快捷键了,现在记下来,防止以后脑 ...
- linux安装时出现your cpu does not support long mode的解决方法
如果你确定你的电脑支持64bit且是64bit的宿主系统,则需要修改BIOS中的Inter Virtualization Technology为enabled.
- jenkins持续集成工具
jenkins是开源的 持续集成.持续构建的可视化web工具,持续构建说直白,就是各种项目的自动化编译.打包.分发部署. 好很多优点: 1.支持多语言 2.跟svn.git能无缝集成 3.直接与知名源 ...
- win7下利用笔记本无线网卡创建AP 组建无线局域网(可以连魔兽,TCP、UDP也没问题)
转自:http://blog.163.com/fghok_018/blog/static/122599670201072773924530/ 近一个月,宿舍的好多同学都买了笔记本电脑,当然,我也买了, ...
- 如何从SAP中查找BADI
如何从SAP中查找BADI 如何从SAP中查找BADI http://blog.csdn.net/CompassButton/article/details/1231652 BADI作为SAP的第 ...
- eclipse中导入一个android工程有The import android cannot be resolved错误怎么办
解决方法: 右键工程→Bulid Path→Configure Build Path... 选择Android,如图,在Project Build Target里面勾选相应的SDK即可 右键工程,pr ...
- iOS之《 Human Interface Guidelines:from Concept to Product 》<界面设计指南 二>:从概念到产品的实现
开发之前需要想到的: 1.列出所有用户可能喜欢的功能. 例子:食谱 (1)创建一个总的食谱菜单 (2)食谱的获取方法 (3)比较价格 (4)当地的食材店 (5)食谱每道菜的注释 (6)能够获取和使用 ...