算法题字符串“~asd;4#1ebr67qwe234#13sdBd1d1,@3ret#156ghk123#1A34D”
算法题字符串“~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”相关推荐
- leetcode算法题--字符串的排列
原题链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/ vector<string> res; vector& ...
- leetcode算法题--字符串转换整数 (atoi)
原题链接: https://leetcode-cn.com/problems/string-to-integer-atoi/ https://leetcode-cn.com/problems/ba-z ...
- leetcode算法题--字符串相乘
原文链接:https://leetcode-cn.com/problems/multiply-strings/ 思路如图(来源): string multiply(string num1, strin ...
- python 笔试题 英方_经典算法题 :找字符串中的逆序对(百度笔试题)
脚本之家 你与百万开发者在一起 来自:百度研发工程师2015深圳笔试卷 编程题:给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对. 小贴士:返回上一级搜索"算法题& ...
- java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...
- 算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“12345”,则输出整数“12345”
今天这道算法题比较简单,主要考察的思考问题的全面性.这个需要考虑的几种情况. 如果输入的整数字符串是个负数,怎么处理? 如果输入的第一个字符是0,则怎么处理? 如果输入的是非0~9之间的字符怎么处理? ...
- Java构造字符串算法题_LeetCode算法题-Repeated Substring Pattern(Java实现)
这是悦乐书的第236次更新,第249篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第103题(顺位题号是459).给定非空字符串检查是否可以通过获取它的子字符串并将子字符 ...
- 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 字符串处理+动态规划 合集!
Attention 秋招接近尾声,我总结了 牛客.WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对.测试.欢迎食用 本 ...
- 详解反转字符串算法题
反转字符串,是经常出现的一种算法题,使用C/C++语言时,通常要求在原地进行反转. 最直接的反转整个字符串,使用的是一前一后双指针的方法 进阶的翻转,同要要涉及到两个指针,只是两个指针就行局部反转 进 ...
最新文章
- 解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
- thinkphp 整合 swiftmailer 实现邮件发送
- Python全栈开发 day3
- SALES_ORG_RESP_SHORT and SALES_ORG_SHORT
- java 16 binary_【图片】【困扰】java(tm) platform se binary 已停止工作该如何是好【minecraft吧】_百度贴吧...
- Linux通过RPM方式指定软件安装目录
- 美橙互联域名与其他地方的区别
- 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存(一)
- 计蒜客-三值排序(贪心)
- Cogs 647. [Youdao2010] 有道搜索框(Trie树)
- QPainter绘图基本使用
- winpe 能否修复服务器系统盘,U盘WINPE、光盘WINPE系统(启动修复盘)制作图文教程...
- 雷电3接口能干嘛_【分享帖】3块钱一斤的水泥能干嘛?600多万网友看完后都跪了:水泥竟然这么神…...
- 历届试题 九宫重排 (bfs 八数码问题)
- 无人驾驶算法学习(十一):IMU标定及Allan方差分析
- 认识Delphi的线程类
- HTML实现图片点击放大效果
- unicloud操作数据库(一)——clientDb
- 某地区现代男科医院营销策划方案
- 2020年最新数据标注公司及平台排名
热门文章
- 一款功能强大的数据恢复软件合集,不进来看看?
- 搭建Python自带静态Web服务器
- 班级名单表格形式php,php学生成绩管理系统(模板)
- UML初探——用例图学习UMLet使用详解
- java的简单数字时钟_Java实现的简单数字时钟功能示例
- 李克平教授讲座——《城市道路交叉口规划规范》解读与绿灯间隔问题分析
- 做游戏,学编程(C语言)教材《C语言课程设计与游戏开发实践教程》出版了...
- javaweb企业门户网站(前台+后台) 课程设计 毕业设计源码
- 小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
- 优思学院|QCC 是什么意思?有什么用?