zoukankan      html  css  js  c++  java
  • P235 实战练习(集合类2)、摇奖程序和验证码(修改版)

    1、分别向Set集合以及List集合中添加“A”、“a”、“c”、“C”、“a”5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加。

     1 package org.hanqi.practise;
     2 import java.util.*;
     3 public class Test2 {
     4 
     5     public static void main(String[] args) {
     6         
     7         Set<String> s = new HashSet<String>();
     8         s.add("A");
     9         s.add("a");
    10         s.add("c");
    11         s.add("C");
    12         s.add("a");
    13         if(s.add("a"))
    14         {
    15             System.out.println("成功添加a");
    16         }
    17         else
    18         {
    19             System.out.println("添加a失败");
    20         }
    21         for(String t:s)
    22         {
    23             System.out.print(" "+t);
    24         }
    25         System.out.println();
    26         System.out.println("s的长度="+s.size());
    27         
    28         List<String> l = new ArrayList<String>();
    29         l.add("A");
    30         l.add("a");
    31         l.add("c");
    32         l.add("C");
    33         l.add("a");                
    34         for(String t:l)
    35         {
    36             System.out.print(" "+t);
    37         }
    38         System.out.println();
    39         System.out.println("s的长度="+l.size());
    40     }
    41 }

    运行结果为:

    结论:重复值“a”能在List集合中成功添加,而不能在Set集合中成功添加。

    2、创建Map集合,创建Emp对象,并将创建的Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为005的对象从集合中移除。

    创建Emp类:

     1 package org.hanqi.practise;
     2 
     3 public class Emp {
     4     
     5     private String id;
     6     private String name;
     7     public String getId() {
     8         return id;
     9     }
    10     public void setId(String id) {
    11         this.id = id;
    12     }
    13     public String getName() {
    14         return name;
    15     }
    16     public void setName(String name) {
    17         this.name = name;
    18     }
    19     public Emp(String id, String name) {
    20         super();
    21         this.id = id;
    22         this.name = name;
    23     }
    24 }

    创建MapTest类:

     1 package org.hanqi.practise;
     2 
     3 import java.util.*;
     4 
     5 public class MapTest {
     6 
     7     public static void main(String[] args) {
     8         
     9         Map<String,String>m = new HashMap<String,String>();
    10         Emp e = new Emp("005","张三");
    11         Emp e1 = new Emp("9527","华安");
    12         Emp e2 = new Emp("4927","刘建明");
    13         Emp e3 = new Emp("27149","陈永仁");
    14         m.put(e.getId(), e.getName());
    15         m.put(e1.getId(), e1.getName());
    16         m.put(e2.getId(), e2.getName());
    17         m.put(e3.getId(), e3.getName());
    18         for(String t:m.keySet())
    19         {
    20             System.out.println(t+" "+m.get(t));
    21         }
    22         
    23         System.out.println("移除编号005对象后的集合为:");
    24         m.remove("005");        
    25         Set s = m.keySet();
    26         Iterator<String>it = s.iterator();
    27         while(it.hasNext())
    28         {
    29             String str = it.next();
    30             String name = m.get(str);
    31             System.out.println(str+" "+name);
    32         }
    33     }
    34 }

    运行结果为:

    3、摇奖程序

     1 package org.hanqi.practise;
     2 
     3 import java.util.*;
     4 
     5 public class Test3 {
     6 
     7     public static void main(String[] args) {
     8         
     9         Random  r = new Random();
    10         Set<Integer> s = new HashSet<Integer>();        //若用Set集合可不必进行下面if的判断,因为Set集合本身就不允许有重复值
    11         while(s.size() < 10)
    12         {
    13             int i = r.nextInt(20);
    14             if(!s.contains(i))
    15             {
    16                 s.add(i);
    17             }
    18         }
    19         System.out.println("从20里面随机抽取10个数:");
    20         for(Integer t:s)
    21         {
    22             System.out.print(" "+t);
    23         }         
    24     }
    25 }

    运行结果为:

    方法二:

     1  List<Object>  list= new ArrayList<Object>();     //从1-28之间随机抽取9个不重复的数字
     2         
     3         for(int i=1;i<=28;i++)            
     4         {
     5             list.add(i);
     6         }
     7             
     8         Random r=new Random();
     9         
    10         for(int i=0;i<9;i++)
    11         {
    12             int t=r.nextInt(list.size());
    13             
    14             System.out.print(" " +list.get(t));
    15             
    16             list.remove((list.get(t)));   //这一步相当于得到一个数就移除list集合,这样就保证不会有重复的数值          
    17         }

    4、随机产生四位验证码    0--9,a--z,A--Z随机取四个数作为验证码

     1  //产生验证码    0--9,a--z,A--Z随机取四个数作为索引值产生验证码
     2         
     3         List<Object>  list= new ArrayList<Object>();
     4         
     5         for(int i=0;i<10;i++)
     6         {
     7             list.add(i);
     8         }
     9         for(int i=65;i<=90;i++)
    10         {
    11             list.add((char)i);
    12         }
    13         for(int i=97;i<=122;i++)
    14         {
    15             list.add((char)i);
    16         }
    17         
    18         for(Object t:list)
    19         {
    20              System.out.print(t);
    21         }
    22         
    23         System.out.println();
    24         
    25         Random r=new Random();
    26         
    27         //产生四位数的验证码
    28         
    29         System.out.print("四位数验证码:");
    30         
    31         for(int i=1;i<=4;i++)
    32         {
    33             System.out.print(list.get(r.nextInt(list.size())));
    34         }

     运行结果为:

    方法二:

     1 public class Choujiang {             //此为最普通的截取方法
     2     
     3     public static void main(String[]args)
     4     {
     5         
     6         String str = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
     7         Random yan=new Random();
     8         for(int i=0; i<4; i++)
     9              {
    10              int j = yan.nextInt(str.length()-1);
    11              
    12              String s = (str.substring(j, j+1));
    13              
    14              System.out.print(s);
    15              }
    16     }
    17 }
  • 相关阅读:
    2018 Wannafly summer camp Day2--New Game!
    2018 Wannafly summer camp Day8--区间权值
    2018 Wannafly summer camp Day3--Shopping
    2018 Wannafly summer camp Day3--Travel
    HDU 6354--Everything Has Changed(判断两圆关系+弧长计算)
    Spring boot-(2) Spring Boot使用
    Spring boot-(1) Spring Boot快速开始
    Quartz使用(5)
    Quartz使用(4)
    Quartz使用(3)
  • 原文地址:https://www.cnblogs.com/hanazawalove/p/5267335.html
Copyright © 2011-2022 走看看