算法题字符串“~asd;4#1ebr&67qwe234#1&3sdBd1d1,@3ret#1&56ghk123#1A&34D”
使用3 个线程 a,b,c,实现以下效果,线程 a 输出英文;线程 b 输出数字;线程 c 输出其他字符;
所有线程的输出,需要按字符串顺序显示,行号也需要;最终效果如下: 1.线程 c 输出字符:~ 2.线程 a 输出字符:a
3.线程 a 输出字符:s 4.线程 a 输出字符:d 5.线程 c 输出字符:; 6.线程 b 输出字符:4 …

import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;public class TestA {public static String str = "~asd;4#1ebr&67qwe234#1&3sdBd1d1,@3ret#1&56ghk123#1A&34D";public static AtomicInteger index = new AtomicInteger();public static void main(String[] args) {new Thread(() -> doSomething(TestA::isLetter), "ThreadA").start();new Thread(() -> doSomething(TestA::isNumber), "ThreadB").start();new Thread(() -> doSomething(TestA::isOrderChar), "ThreadC").start();}public static void doSomething(Function<Character, Boolean> function) {while (index.get() < str.length()) {int currentIndex = index.get();if (currentIndex < str.length() && function.apply(str.charAt(currentIndex))) {printChar(str.charAt(currentIndex));index.incrementAndGet();}}}public static boolean isLetter(char c) {return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z';}public static boolean isNumber(char c) {return c >= '0' && c <= '9';}public static boolean isOrderChar(char c) {return !isLetter(c) && !isNumber(c);}public static void printChar(char c) {System.out.println(Thread.currentThread().getName() + ":" + c);}}

算法题字符串“~asd;4#1ebr67qwe234#13sdBd1d1,@3ret#156ghk123#1A34D”相关推荐

  1. leetcode算法题--字符串的排列

    原题链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/ vector<string> res; vector& ...

  2. leetcode算法题--字符串转换整数 (atoi)

    原题链接: https://leetcode-cn.com/problems/string-to-integer-atoi/ https://leetcode-cn.com/problems/ba-z ...

  3. leetcode算法题--字符串相乘

    原文链接:https://leetcode-cn.com/problems/multiply-strings/ 思路如图(来源): string multiply(string num1, strin ...

  4. python 笔试题 英方_经典算法题 :找字符串中的逆序对(百度笔试题)

    脚本之家 你与百万开发者在一起 来自:百度研发工程师2015深圳笔试卷 编程题:给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对. 小贴士:返回上一级搜索"算法题& ...

  5. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...

    推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...

  6. 算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“12345”,则输出整数“12345”

    今天这道算法题比较简单,主要考察的思考问题的全面性.这个需要考虑的几种情况. 如果输入的整数字符串是个负数,怎么处理? 如果输入的第一个字符是0,则怎么处理? 如果输入的是非0~9之间的字符怎么处理? ...

  7. Java构造字符串算法题_LeetCode算法题-Repeated Substring Pattern(Java实现)

    这是悦乐书的第236次更新,第249篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第103题(顺位题号是459).给定非空字符串检查是否可以通过获取它的子字符串并将子字符 ...

  8. 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 字符串处理+动态规划 合集!

    Attention 秋招接近尾声,我总结了 牛客.WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对.测试.欢迎食用 本 ...

  9. 详解反转字符串算法题

    反转字符串,是经常出现的一种算法题,使用C/C++语言时,通常要求在原地进行反转. 最直接的反转整个字符串,使用的是一前一后双指针的方法 进阶的翻转,同要要涉及到两个指针,只是两个指针就行局部反转 进 ...

最新文章

  1. 解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
  2. thinkphp 整合 swiftmailer 实现邮件发送
  3. Python全栈开发 day3
  4. SALES_ORG_RESP_SHORT and SALES_ORG_SHORT
  5. java 16 binary_【图片】【困扰】java(tm) platform se binary 已停止工作该如何是好【minecraft吧】_百度贴吧...
  6. Linux通过RPM方式指定软件安装目录
  7. 美橙互联域名与其他地方的区别
  8. 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存(一)
  9. 计蒜客-三值排序(贪心)
  10. Cogs 647. [Youdao2010] 有道搜索框(Trie树)
  11. QPainter绘图基本使用
  12. winpe 能否修复服务器系统盘,U盘WINPE、光盘WINPE系统(启动修复盘)制作图文教程...
  13. 雷电3接口能干嘛_【分享帖】3块钱一斤的水泥能干嘛?600多万网友看完后都跪了:水泥竟然这么神…...
  14. 历届试题 九宫重排 (bfs 八数码问题)
  15. 无人驾驶算法学习(十一):IMU标定及Allan方差分析
  16. 认识Delphi的线程类
  17. HTML实现图片点击放大效果
  18. unicloud操作数据库(一)——clientDb
  19. 某地区现代男科医院营销策划方案
  20. 2020年最新数据标注公司及平台排名

热门文章

  1. 一款功能强大的数据恢复软件合集,不进来看看?
  2. 搭建Python自带静态Web服务器
  3. 班级名单表格形式php,php学生成绩管理系统(模板)
  4. UML初探——用例图学习UMLet使用详解
  5. java的简单数字时钟_Java实现的简单数字时钟功能示例
  6. 李克平教授讲座——《城市道路交叉口规划规范》解读与绿灯间隔问题分析
  7. 做游戏,学编程(C语言)教材《C语言课程设计与游戏开发实践教程》出版了...
  8. javaweb企业门户网站(前台+后台) 课程设计 毕业设计源码
  9. 小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
  10. 优思学院|QCC 是什么意思?有什么用?