展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

小案例

  • 统计字符串中的字母、空格、数字、特殊字符
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入任意一串字符串");
String str = sc.nextLine();
// 长度
int len = str.length();
System.out.println("len:" + len);
int[] myList = new int[len];
for (int i = 0; i < len; i++) {
int s = str.charAt(i);
myList[i] = s;
}
// 统计字母,空格,数字,特殊字符
int a = 0;
int b = 0;
int c = 0;
int d = 0;
for (int i = 0; i < len; i++) {
int s1 = myList[i];
if(s1>= 97 && s1 <= 122){
a += 1;
}else if (s1 == 32){
b += 1;
}else if (s1 >= 48 && s1 <= 57){
c += 1;
}else {
d += 1;
}
}
System.out.println(a + " " + b + " " + c + " " + d);
}
}
  • 模拟生产者和消费者
import java.util.Random;
public class test {
public static void main(String[] args) {
Num nm = new Num();
Random rand = new Random();
// 随机0或1
//System.out.println(rand.nextInt(2)+ 0);
int w = 0;
while (w < 1000){
// 0 模拟生产者操作,1模拟消费者操作
int i = rand.nextInt(2)+ 0;
if(i == 0){
System.out.println(nm.add(6));;
}else {
System.out.println(nm.remove());
}
w++;
}
}
static class Num{
// 模拟缓冲区
int[] num = new int[5];
int len = 0;
// 模拟生产者
// 缓冲区满时,生产者不能操作
public String add(int n){
if(len < 5){
num[len] = n;
len++;
return "生产者操作成功"; // 执行操作成功
}else {
return "缓冲区已满,生产者操作失败";
}
}
// 模拟消费者
// 缓冲区为空时,消费者不能操作
public String remove(){
if(len > 0){
int i = num[len-1];
len--;
String r = "消费者操作成功,取出值为:" + i;
return r;
}else {
return "缓冲区为空,消费者操作失败";
}
}
}
}
posted @   DogLeftover  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-11-14 异常处理和泛型
点击右上角即可分享
微信分享提示