展开
拓展 关闭
订阅号推广码
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 @ 2023-11-14 14:47  DogLeftover  阅读(16)  评论(0编辑  收藏  举报