小学生级别Java笔记_随机产生字符_2019/6/5

1. 随机产生4位验证码
导入Math包、Random包
用到StringBuilder类、Random类
用到append方法、nextInt方法
思路:
从一个char[]数组中随机挑选出4个字符,尾插到StringBuilder中。

public static void main(String[] args)
{
	char[] arr = {'1','d','m','喵','6','h','汪','k'};
	StringBuilder sb = new StringBuilder();
	//随机产生4个整数index,作为char数组下标
	Random random = new Random();
	for(int i = 0;i < 4;i++)
	{
		//随机数的范围(0<=index<=arr.length-1)
		//与数组arr下标的范围一致
		int index = random.nextInt(arr.length);
		//把index下标对应的char存入sb尾部
		sb.append(arr[index]);
	}
	System.out.println("随机产生的4位验证码:"+sb);
}

2. 升级版题目:随机产生3个【不重复的!】字母
导入ArrayList包
用到ArrayList类、Random类
用到contains方法、add方法
从一个包含26字母大小写的char[]数组中,随机挑选出4个字符,尾插到StringBuilder中。
控制3个字符不重复的方法:用 “集合.contains(元素)”来判断该字符是否与集合中曾添加某元素重复。

public static void main(String[] args)
   {
   	System.out.println("3位字母"+get3char()); 
   }
   public static ArrayList<Character> get3char()
   {
   	ArrayList<Character> list = new ArrayList<Character>();
   	//得到一个char[]数组c
   	String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";  
       char[] c = s.toCharArray();  
       //随机生成3个整数作为下标,获取数组c中的3个字符
       //并把字符尾插到list中
       Random random = new Random();  
       for( int i = 0; i < 3; i ++) {  
       	char randomChar = c[random.nextInt(c.length)];
       	//用 “集合.contains(元素)”来控制集合中字符不重复
       	//如果list中尚没有该字符,则代表不与list中已有元素重复
           if(!list.contains(randomChar))
           {
           	list.add(randomChar);
           }
       } 
       return list;
   }
发布了33 篇原创文章 · 获赞 4 · 访问量 2193

猜你喜欢

转载自blog.csdn.net/weixin_44981510/article/details/90947762