字符串金额转换,字符串手机号屏蔽,身份证信息查看,敏感词替换

news2024/11/13 16:21:13

2135 在发票上面该写成零佰零拾零万贰仟壹佰叁拾伍元

我们用逆推法可以写成零零零贰壹叁伍->贰壹叁伍->2135

1.遍历获取到每一个数字,然后把大写放到数组里面,将数字当作索引,在数组里面查找大写

 

package stringdemo;

import java.util.Scanner;

public class StringDemo5 {
    public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        int money;
        while (true) {
            System.out.println("请输入一个金额");
            money = sc.nextInt();
            if (money >= 0 && money <= 999999999){
                break;
            }else {
                System.out.println("金额无效");
            }
        }
        //定义一个变量用来表示钱的大写
        String moneyStr = "";
        //2.得到money里面的每一位数字
        while (true){
            //从右到左获取数据,因为右侧是数据的个位
            int ge = money%10;
            String capitalNumber = getCapitalNumber(ge);
            //把转换之后的大写拼接到moneyStr里面
            moneyStr = capitalNumber + moneyStr;
            //去掉更改获取到的数据
            money = money/10;
            //如果数字上的每一位全部获取到,那么money记录的就是0,此时循环结束
            if(money == 0){
                break;
            }
        }
        //3.在前面补零补齐七位
        int count = 7 - moneyStr.length();
        for (int i = 0; i < count; i++) {
            moneyStr = "零" + moneyStr;
        }
        //4.插入单位
        String[] arr = {"佰","拾","万","仟","佰","拾","元"};
        String result = "";
        //遍历moneyStr 依次得到每一个数
        //然后把arr单位插进去
        for (int i = 0; i < moneyStr.length(); i++) {
            char c = moneyStr.charAt(i);
            //把大写数字和单位接到result中
            result = result + c + arr[i];//arr[i]里面的索引可以将i看成同一个
        }
        System.out.println(result);
    }
    //2.定义一个方法把数字变成大写中文
    //1 - - 壹
    public static String getCapitalNumber(int number){
        //定义数组,让数字根大写的中文产生一个对应关系
        String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        //返回结果
        return  arr[number];
    }
}

String substring(int beginIndex, int endIndex)截取

注意:包头不包尾,包左不包右 只有返回值才是截取的小串

String substring(int beginIndex)截取到末尾

package stringdemo;

public class StringDemo6 {
    public static void main(String[] args) {
        //1.获取一个手机号码
        String phoneNumber = "13112345678";
        //2.截取手机号的前三位
        String start = phoneNumber.substring(0, 3);
        //3.截取手机号后四位
        String end = phoneNumber.substring(7);
        //4.拼接
        String result = start + "****" + end;
        System.out.println(result);
    }
}

 

 

很简短的一小段,这里面注意的是需要截取的返回值,如果直接输出,那么还是原本的数字,这个只是这个方法的使用

身份证信息查看

需要做到的效果

package stringdemo;

public class StringDemo7 {
    public static void main(String[] args) {
        //1.定义一个字符串记录身份证号码
        String id = "321548200212216325";
        //2.获取出生年月
        String year = id.substring(6, 10);
        String month = id.substring(10, 12);
        String day = id.substring(12, 14);
        System.out.println("人物信息为:");
        System.out.println("出生年月日:"+year+"年"+month+"月"+day+"日");
        //3.获取性别
        char gender = id.charAt(16);
        //要把获取到的字符转变为数字
        //可以利用ASCII码表进行转换
        int num = gender - 48;
        if (num%2 == 0){
            System.out.println("性别为:女");
        }else {
            System.out.println("性别为:男");
        }

    }
}

敏感词替换

String replace(旧值,新值)替换

注意:只有返回值才是替换之后的效果

package stringdemo;

public class StringDemo8 {
    public static void main(String[] args) {
        //获取到说的话
        String talk = "你玩的真好,以后不要再玩了,TMD,CNM";
        //2.定义一个敏感词库
        //2.把里面的敏感词TMD替换为***
        String[] arr = {"TMD","CNM","SB","MLGB"};
        //3.循环得到数组中的每一个敏感词,依次进行替换
        for (int i = 0; i < arr.length; i++) {
            talk=talk.replace(arr[i],"***");
        }
        //3.打印结果
        System.out.println(talk);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2051380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传输层安全性 ——TLS(Transport Layer Security)简介

TLS(Transport Layer Security)是一种广泛使用的安全协议,旨在确保互联网通信的隐私性和数据完整性。它是SSL(Secure Sockets Layer)的继任者,最初版本于1999年发布,最新版本是TLS 1.3。 TLS 握手为每个通信会话建立一个密码套件密码套件是一组算法,其中指定了一些细节…

如何轻松获取麒麟操作系统架构信息?

如何轻松获取麒麟操作系统架构信息&#xff1f; 一、使用uname -a命令二、用arch命令三、示例输出 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在使用麒麟操作系统&#xff08;Kylin OS&#xff09;时&#xff0c;了解系统的架构信息对于…

stm32单片机学习 - stm32 的命名规则

STM32命名规则: 以STM 32 F 103 C 8 T 6 A xxx为例:

动手学深度学习(pytorch)学习记录9-图像分类数据集之Fashion-MNIST[学习记录]

注&#xff1a;本代码在jupyter notebook上运行 封面图片来源 Fashion-MNIST是一个广泛使用的图像数据集&#xff0c;主要用于机器学习算法的基准测试&#xff0c;特别是图像分类和识别任务。Fashion-MNIST由德国的时尚科技公司Zalando旗下的研究部门提供。作为MNIST手写数字集…

Java并发类API——CompletionService

CompletionService 是 Java 中 java.util.concurrent 包的一部分&#xff0c;用于管理并发任务的执行&#xff0c;并以完成的顺序提供结果。它结合了线程池和阻塞队列的功能&#xff0c;用于提交任务并按照任务完成的顺序来检索结果&#xff0c;而不是按照任务提交的顺序。 接…

uni-app--》打造个性化壁纸预览应用平台(二)

&#x1f3d9;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名前端工程师 &#x1f304;个人主页&#xff1a;亦世凡华、 &#x1f306;系列专栏&#xff1a;uni-app &#x1f307;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

python语言day7 函数式编程 面向对象编程

Java 函数式编程_java函数式编程-CSDN博客 25.Java函数式编程-CSDN博客 函数式编程&#xff1a; 通过调用函数send_email()&#xff0c;完成业务需求。将具体的业务需求封装成一个函数这样的一种解决问题的思想称它为函数式编程。 在java中本来没有函数的概念&#xff0c;因为…

指针详解

目录 1. 内存 2. 编址​编辑 3. 指针变量和地址 1&#xff09;取地址操作符&#xff08;&&#xff09; 2&#xff09;指针变量 3&#xff09;指针类型 4&#xff09;解引用操作符 4. 指针变量的大小 5. 指针变量类型的意义 1&#xff09;指针的解引用 6. 指针 -…

Java使用XXL-Job-Admin创建和管理调度任务的指南

文章目录 一、调度中心添加任务的基本方法二、配置文件中的任务配置三、创建并调用调度任务的客户端四、配置RestTemplate 总结 在日常开发中&#xff0c;我们经常需要处理各种定时任务&#xff0c;而XXL-Job作为一款强大的分布式任务调度平台&#xff0c;为我们提供了简单易用…

进程与线程(6)

有名管道&#xff1a; 目录 有名管道&#xff1a; 1.创建&#xff08;mkfifo&#xff09;&#xff1a; 2。打开&#xff08;open&#xff09;&#xff1a; 3.读写&#xff08;read /write&#xff09;&#xff1a; 4.关闭&#xff08;close&#xff09;&#xff1a; 5.卸…

presto高级用法(grouping、grouping sets)

目录 准备工作&#xff1a; 在hive中建表 在presto中计算 分解式 按照城市分组 统计人数 按照性别分组 统计人数 ​编辑 按照爱好分组 统计人数 ​编辑 按照城市和性别分组 统计人数 按照城市和爱好分组 统计人数 按照性别和爱好分组 统计人数 按照城市和性别还有…

【Qt开发】创建并打开子窗口(QWidget)的注意事项 禁止其他窗口点击、隐藏窗口、子窗口不退出的配置和解决方案

【Qt开发】创建并打开子窗口&#xff08;QWidget&#xff09;的注意事项 禁止其他窗口点击、隐藏窗口、子窗口不退出的配置和解决方案 文章目录 新建QWidget测试注意事项不要用多线程方式运行子窗口不要在打开子窗口后用阻塞死等不要用临时变量定义子窗口 禁止其他窗口的点击隐…

【Qt】常用控件QPushButton

常用控件QPushButton QWidget中涉及的各种属性/函数/使用方法&#xff0c;对Qt中的各种控件都是有效的。 QPushButton继承自QAbstractButton。这个类是抽象类&#xff0c;是其他按钮的父类。 QAbstractButton中和QPushButton相关性比较大的属性。 属性说明 text 按钮中的⽂本…

Vue中下载内容为word文档

1.使用 html-docx-js&#xff1a;这是一个将 HTML 转换为 Word 文档的库。 2. 利用 Blob 和 FileSaver.js&#xff1a;创建并下载生成的 Word 文档。 在 Vue.js 中实现步骤如下: 1. npm 安装 html-docx-js 和 file-saver npm install html-docx-js npm install file-saver2.…

CAS-ViT:面向高效移动应用的卷积加性自注意力视觉Transformer

摘要 https://arxiv.org/pdf/2408.03703 视觉转换器&#xff08;Vision Transformers&#xff0c;ViTs&#xff09;以其标记混合器强大的全局上下文能力&#xff0c;在神经网络领域取得了革命性的进展。然而&#xff0c;尽管以往的工作已做出相当大的努力&#xff0c;但成对标…

终于来了!中国首个接入大模型的Linux开源操作系统正式发布!

在AI飞速发展的今天&#xff0c;谁不希望自己的电脑里住着一个AI助手&#xff0c;我们动动嘴皮子就能指挥电脑干活&#xff0c;省时省力&#xff1f;但是Windows Copilot锁了区&#xff0c;很多用户只能“望洋兴叹”。 而现在&#xff0c;国产站出来了&#xff0c;说我们也有A…

Python常用的模块

一、logging模块 一&#xff09;日志级别 critical50 error40 waring30 info20 debug10 notset0 二&#xff09;默认的日志级别是waring&#xff08;30&#xff09;&#xff0c;默认的输出目标是终端 logging输出的目标有两种&#xff1a;1、终端&#xff1b;2、文件 高于warn…

如何查看麒麟系统下的CPU信息

如何查看麒麟系统下的CPU信息 一、使用lscpu命令二、使用cat /proc/cpuinfo命令 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在麒麟&#xff08;Kylin&#xff09;Linux系统中&#xff0c;了解CPU的详细信息对于系统性能调优、故障诊断以…

转债违约,是实体经济高质量发展的一大步?

8月14日&#xff0c;岭南股份公告其发行的可转债无法按期兑付&#xff0c;出现实质违约。8月16日&#xff0c;证券时报发表了一篇“雄文”《国企可转债的刚兑信仰该放下了》&#xff0c;引爆了舆论。 文章内容总结下&#xff0c;就是对投资者一顿批评教育&#xff0c;批评投资者…

leetcode-461. 汉明距离

题目描述 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 示例 1&#xff1a; 输入&#xff1a;x 1, y 4 输出&#xff1a;2 解释&#xff1a; 1 (0 0 0 1) 4 (0 1 0 0) …