import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
 * 要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)
 * 也不相同,每个字符串长度为10;
 * 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判断生成的字符串是否包含重复,
 * 在判断长度是不是10,等等.
 * 2.其实这题我们可以培养一个习惯,大问题分解小问题解决.
 * (1).10个字符串,我们先产生一个10个字符不重复的字符串,
 * (2).怎么去重复呢?集合中的HashSet就可以,这题不适合用包含方法做,代码复杂
 * (3).字符组成是由(a-zA-Z0-9) 难道我们在随机他们的码表一一判断吗?-------->可以把们放到一
 * 个容器中ArrayList
 * 在集合的随机索引
 */
public class Demo1 {

public static void main(String[] args) {
        List<Character> al = new ArrayList<Character>();
        Set<Character> hs = new HashSet<Character>();
        Set<String> hs2 = new HashSet<String>();
        // 把(a-zA-Z0-9)放进集合中
        for (char i = 'a'; i <= 'z'; i++) {
            al.add(i);
        }
        for (char i = 'A'; i <= 'Z'; i++) {
            al.add(i);
        }
        for (char i = '0'; i <= '9'; i++) {
            al.add(i);
        }
        while (true) {
            hs.clear();//内循环走完,把存储字符的set清零
            while (true) {
                int a = (int) (Math.random() * al.size());
                //随机下标拿到字符,把字符放进set中保证了字符是唯一的
                hs.add(al.get(a));
                //当set中有10个数据时,把10个数据打印出来,然后转成字符串存放到另一个set中,跳出循环
                if (hs.size() == 10) {
                    for (char c : hs) {
                        System.out.print(c);
                    }
                    String s = hs.toString();
                    hs2.add(s);
                    break;
                }
            }
            System.out.println();
            //当存放字符串的set有10个数据时,跳出循环
            if (hs2.size() == 10) {
                break;
            }
        }
    }
}

要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9) 也不相同,每个字符串长度为10;相关推荐

  1. 编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException

    题目:编写一个方法参数接收一个字符串,返回一个Date对象(在多种日期格式中找到与字符串匹配的那一个)用到解析异常ParseException 具体代码如下: import java.text.Par ...

  2. python中什么是字符举例说明_第20p,什么是字符串?Python中的str

    原标题:第20p,什么是字符串?Python中的str 大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第20篇文章,第二阶段的课程:Python基础知识:Python的字符串(上 ...

  3. 对任意长度字符串,删除其中的任意的N(N=0)个字符

    搜狗2018校招 题目描述: 搜狗汪仔机器人在参加一站到底节目录制时,被问到一个问题:"对任意长度字符串,删除其中的任意的N(N>=0)个字符,能形成多少种不同的子字符串呢?" ...

  4. C++语言篇 第六章 字符数组及函数(不能用在string字符串中)

    字符数组 数组中的每个元素都是一个字符的数组称为"字符数组".有时,把一维字符数组又称为"字符串".定义字符数组的方法与定义其他类型数组的方法类似. 对于字符数 ...

  5. 输入字符串中含有该字符的个数

    2019独角兽企业重金招聘Python工程师标准>>> ##需求:写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小 ...

  6. C语言学习笔记--删除字符串中特定的字符

    题目:输入一个长度不超过100的字符串,然后输入一个字符,通过程序将字符串中该字符删除并输出最后的字符串,要求字符串存放在数组中,字符串的输入与输出,在主函数中实现删除字符,在自定义函数deletec ...

  7. C++ 删除指定字符串中的某些字符

    C++ 删除指定字符串中的某些字符 题目 输入URL前缀和后缀,删除字符串中的",/",把URL拼接在一起且后边有"/". 用例: 输入:/abhdsjvf/, ...

  8. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...

    如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...

  9. java编程10以内随机数字乘除_随机生成10个长度为10以内的字符串并排序(Java入门第三季集合下作...

    作业要求: 实现代码: package JiHe; import java.util.List; import java.util.Collections; import java.util.Arra ...

最新文章

  1. python的TCP编程
  2. 【Luogu】P1896互不侵犯King(状压DP)
  3. python Django基本介绍
  4. 克隆一个 AI 替自己开会,爽吗?
  5. 今天在群里面讨论了驱动机制的学习
  6. jQueru中数据交换格式XML和JSON对比
  7. python scikit learn 关闭开源_Python开源机器学习框架:Scikit-learn六大功能,安装和运行Scikit-learn...
  8. go 执行shell 命令
  9. SAP表维护自动带出对象属性
  10. 市场上硬杠,技术上死磕,华为如何跨越操作系统黑洞
  11. 8.22 今日头条笔试
  12. 支持向量机算法+数据读取+多倍交叉验证实现
  13. android studio实现记住密码,Andriod Studio实现保存QQ密码功能(案例代码详解)
  14. 家庭理财,轻松记账修改收支记录这样操作
  15. java异常类_java中常见的异常类
  16. 雄关漫道真如铁,而今迈步从头越 | 挥别2022,再战2023!
  17. Android运行ListView的代码,Android ListView组件详解及示例代码
  18. C语言:单链表的循环添加、插入操作,直到不在插入为止
  19. idea如何全屏_IntelliJ IDEA(十) :常用操作
  20. python爬虫豆瓣电影短评_豆瓣Python爬虫:500条电影短评

热门文章

  1. 论文解读:CFC-NET
  2. 003基于SSM网上服装商城
  3. 15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工
  4. 一次简单的 ViewModel 实践
  5. Linux痕迹清除技术
  6. DAX 第四篇:CALCULATE详解
  7. 企业工商数据精准查询
  8. c语言 数组放空自己,基于Arduino和Labview的无线遥控智能小车的设计与实现.docx
  9. 雷达回波模拟仿真(一):回波产生,脉冲压缩(以LFM为例)matlab
  10. 辽宁启迪:开店手把手细心教学版