【Java】重生之String类再爱我一次---练习题(012)
目录
♦️练习一:用户登录
♦️练习二:遍历字符串
♦️练习三:统计字符次数数
♦️练习四:拼接字符串
♦️练习五:反转字符串
♦️练习六:金额转换
♦️练习七:手机号屏蔽
♦️练习一:用户登录
已知正确的用户名和密码,请用程序实现模拟用户登录
总共给三次机会,登录之后,给出相应的提示
🎏分析:
- 要点一:正确的用户名和密码
- 要点二:总共三次登陆机会
- 要点三:给出相应的提示
import java.util.Scanner;
public class Main {public static void main(String[] args) {//1.创建用户名和密码两个变量String rightUsername = "zhangsan";String rightPassword = "123456";//2.开辟空间,键盘录入输入的用户名和密码//注意:需登录三次,需用循环,又知道循环次数则用for循环for (int i = 0; i < 3; i++) {Scanner sc = new Scanner(System.in);System.out.println("请输入用户名");String Username = sc.nextLine();System.out.println("请输入密码");String Password = sc.nextLine();//3.判断登录是否成功if (rightUsername.equals(Username) && rightPassword.equals(Password)) {System.out.println("用户登陆成功");break;} else {System.out.println("用户名或密码输入错误,请重新登录");}}}
}
注意:在用户登录成功后需结束循环,加break,而登录错误不用
♦️练习二:遍历字符串
需求:键盘录入一个字符串,使用程序实现在控制台遍历该字符串
import java.util.Scanner;
public class Main {public static void main(String[] args) {// 创建Scanner对象以获取用户输入Scanner scanner = new Scanner(System.in);// 提示用户输入字符串System.out.print("请输入一个字符串:");String str= scanner.nextLine();// 遍历并打印字符串中的每个字符for (int i = 0; i < str.length(); i++) {char chs = str.charAt(i);System.out.println(chs);}}
}

♦️练习三:统计字符次数数
键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数
import java.util.Scanner; public class CharacterCount { public static void main(String[] args) { // 创建Scanner对象以获取用户输入 Scanner scanner = new Scanner(System.in); // 提示用户输入字符串 System.out.print("请输入一个字符串:"); String inputString = scanner.nextLine(); // 初始化计数器 int uppercaseCount = 0; int lowercaseCount = 0; int digitCount = 0; // 遍历字符串并统计字符类型 for (int i = 0; i < inputString.length(); i++) { char c = inputString.charAt(i); if (c>='A'&&c<='Z') { uppercaseCount++; // 大写字母 } else if (c>='a'&&c<='z') { lowercaseCount++; // 小写字母 } else if (c>='0'&&c<='9')) { digitCount++; // 数字 } } // 输出统计结果 System.out.println("大写字母出现次数: " + uppercaseCount); System.out.println("小写字母出现次数: " + lowercaseCount); System.out.println("数字出现次数: " + digitCount); // 关闭Scanner scanner.close(); }
}

注:用ASCII码值来计算字符出现的次数
♦️练习四:拼接字符串
定义一个方法,把 int数组中的数据按照指定的格式拼接成一个字符串返调用该方法,并在控制台输出结果。例如:
数组为 int[] arr ={1,2,3};
执行方法后的输出结果为:[1,2,3]
🎏分析:
- 要点一:定义一个方法并返回值
- 要点二:注意结果的格式
import java.util.Scanner;
public class Main {public static void main(String[] args) {// 定义整数数组int[] arr = {1, 2, 3};// 调用拼接方法并打印结果String chs= arrToString(arr);System.out.println(chs);}// 方法:将int数组拼接成字符串public static String arrToString(int[] arr){ //判断数组是否为空或数组长度是否为0if(arr.length==0||arr==null){return " ";}String result="[";for (int i = 0; i < arr.length; i++){// 如果不是最后一项,添加逗号if (i < arr.length - 1){result=result+arr[i]+(","); // 使用中文逗号}else{result=result+arr[i];}}result=result+"]";return result;}
}

♦️练习五:反转字符串
定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果例如,键盘录入 abc,输出结果 cba
import java.util.Scanner;
public class Main {public static void main(String[] args) {String str = "abc";String chs=reverse(str);System.out.println(chs);}public static String reverse(String str){String result="";for (int i = str.length()-1; i>=0; i--){char c=str.charAt(i);//将字符串某索引的值赋值于cresult=result+c;}return result;}}

♦️练习六:金额转换
🎏分析:
- 步骤一:定义一个方法可将数字转换为大写
- 步骤二:得到大写数组后在前面补0,补够7位
- 步骤三:插入单位
import java.util.Scanner;
public class Main {public static void main(String[] args) {//1.键盘录入一个金额Scanner sc=new Scanner(System.in);System.out.println("请输入一个金额");int money;//判断输入的金额是否合理//金额合理while(true) {money=sc.nextInt();if (money >= 0 && money <= 9999999) {break;//在循环中才能运用break}//金额不合理else {System.out.println("金额无效");}}//定义一个变量表示前的大写String moneyStr="";//2.得到money里面的每一个数字while(true){//从右往左获取数据,因为右侧时数据的各位int ge=money%10;String capitalNumber=getCapitalNumber(ge);//将得到的大写数字拼接起来moneyStr=capitalNumber+moneyStr;//将MoneyStr和capitalNumber调换位置,防止打印出来是倒着的money/=10;//将money移位,则下一次money%10得到的就是数据的十位if(money==0){break;}}System.out.println(moneyStr);//3.在前面补零,补够7位int count=7-moneyStr.length();for (int i = 0; i < count; i++){moneyStr="零"+moneyStr;}System.out.println(moneyStr);//4.插入单位//定义一个数组表示单位String[] arr={"佰","拾","万","仟","佰","拾","元"};//遍历数组moneyStr,依次得到数组中元素//然后将单位插入进去for (int i = 0; i < moneyStr.length(); i++){char c=moneyStr.charAt(i);System.out.print(c);//注意此处打印不需要换行System.out.print(arr[i]);}}//定义一个方法,将数字变为大写public static String getCapitalNumber (int number){//定义数组,让数字跟大写中文产生一个对应关系String[] arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};//返回结果return arr[number];}
}

♦️练习七:手机号屏蔽
🎏方法:
- String substring(int beginIndex,int endIndex)
- 注意点:包头不包尾,包左不包右
- String substring(intbedinIndex) 截取到末尾
import java.util.Scanner;
public class Main {public static void main(String[] args) {//1.获取一个手机号String number="18100000000";//2.录取手机号前面几位String start=number.substring(0,3);//3.录取手机号后面几位String end=number.substring(7);//4.拼接String result=start+"****"+end;System.out.println(result);}
}

相关文章:
【Java】重生之String类再爱我一次---练习题(012)
目录 ♦️练习一:用户登录 ♦️练习二:遍历字符串 ♦️练习三:统计字符次数数 ♦️练习四:拼接字符串 ♦️练习五:反转字符串 ♦️练习六:金额转换 ♦️练习七:手机号屏蔽 ♦️练习一&am…...
NSSCTF-GDOUCTF 2023新生赛
[GDOUCTF 2023]hate eat snake 考察:js代码审计 打开题目,发现需要坚持60秒,那么简单的一个思路就是修改得分的变量>60即可 办法1:修改变量 右键查看源代码,之后发现有一个snake.js的文件,ctrlf搜索i…...
论文解析——Character Region Awareness for Text Detection,字符级文本检测CRAFT算法
这篇论文来自CVPR2019,paper地址:Character Region Awareness for Text Detection。 代码:CRAFT-pytorch。 这篇论文主要解决之前的文本检测是基于word-level的检测框,不能识别任意形状的文本的问题。与之前的方法不同࿰…...
基于飞腾平台的Kafka移植与安装
【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适…...
【Python数据结构与算法】递归----算24
题目:算24 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定…...
TOSHIBA东芝代理商--芯智雲城,提供订货、报价、选型等服务!
关于东芝 东芝创立于1875年7月,是日本大型半导体制造商,全球知名的综合机电制造商和解决方案提供者,世界大型综合电子电器企业集团。东芝集团原名东京芝浦电气株式会社,在1939年东京电器与芝浦制作所正式合并成为现在的东芝&…...
sdwan
分支互联网络解决方案 - 华为企业业务 分支互联网络解决方案 随着5G、AI、物联网等新兴技术与云紧密结合,企业业务智能化和云化加速。 企业分支WAN流量激增,传统以MPLS专线为主的广域互联网络难以支撑业务发展。SD-WAN成为应对云时代的必然选择。 SD…...
Linux: network: 建立socket以及设置nonblock/opt所需的时间
最近在扩大socket数量的时候发现程序在完成所有的socket创建设置的时间不短。单线程下。 创建socket的步骤是,(调用glibc/system call的接口): socket bind fcntl (sock, F_SETFL, flags); setsockopt 通过测试发现这几个步骤前后…...
git使用及代码规范
参考链接 git flow 简介代码审核的典型问题gitlab工作流...
职业教育大数据实验实训室建设应用案例
大数据作为一种重要的信息技术,对各行各业产生了深远的影响。职业教育作为培养应用型人才的摇篮,建设大数据实验实训室,对于提高学生的数据分析能力和解决实际问题的能力具有重要意义。唯众作为一家专注于教育技术领域的企业,凭借…...
【Academy】反序列化漏洞Insecure deserialization
反序列化漏洞Insecure deserialization 什么是序列化?序列化与反序列化什么是不安全的反序列化?不安全的反序列化漏洞是如何产生的?不安全的反序列化有什么影响?识别不安全的反序列化漏洞PHP序列化格式Java序列化格式 利用不安全的…...
【轨物推荐】康波、世界体系与创新范式:中国如何引爆新一轮产业革命
原创 邵宇、陈达飞 新财富 2019年12月31日 22:13 中美关系近两年备受关注,在诸多方面各方都已经形成了共识,但竞争博弈的结局富有争议性。当靠事物太近的时候,反而很难看清楚其面貌,使用康德拉季耶夫周期(简称“康波”…...
[HCTF 2018]admin1
打开题目 尝试登陆 admin,123,直接试出来了 有投机取巧的成分,到github查看源码,也能找到用户名密码...
【Qwen-Audio部署实战】Qwen-Audio-Chat模型之对话机器人部署测试
系列篇章💥 No.文章1【Qwen部署实战】探索Qwen-7B-Chat:阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验:用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B:通过FastApi框架实现API的部署与调用4【Q…...
第一百八十五节 Java XML教程 - Java DOM简介
Java XML教程 - Java DOM简介 DOM是标准的树结构,其中每个节点包含来自XML结构的一个组件。 XML文档中两种最常见的节点类型是元素节点和文本节点。 使用Java DOM API,我们可以创建节点,删除节点,更改其内容,并遍历节…...
一款功能强大且免费的图片查看和管理工具
XnView MP是一款功能强大且免费的图片查看和管理工具,支持多种平台(Windows、Mac和Linux),并基于相同的源代码实现统一的用户界面和体验。它不仅能够查看各种图片格式,还提供了丰富的编辑和管理功能。 图片查看与浏览…...
动手学强化学习 第 11 章 TRPO 算法(TRPOContinuous) 训练代码
基于 Hands-on-RL/第11章-TRPO算法.ipynb at main boyu-ai/Hands-on-RL GitHub 理论 TRPO 算法 修改了警告和报错 运行环境 Debian GNU/Linux 12 Python 3.9.19 torch 2.0.1 gym 0.26.2 运行代码 TRPOContinuous.py #!/usr/bin/env pythonimport torch import numpy a…...
数量关系模块
三年后指的不是现在 选A注意单位 注意单位换算 A 正方形减去扇形 256-X5y 那么小李拿的一定是末尾是1或者是6,所以小李拿的是26,那么y46,那么小王或者小周拿的是92,所以选择三个数之和等于92的,所以选择D 分数 百分数 …...
滑模面、趋近律设计过程详解(滑模控制)
目录 1. 确定系统的状态变量和目标2. 定义滑模面3. 选择滑模面的参数4. 设计控制律5. 验证滑模面设计6. 总结 设计滑模面(Sliding Surface)是滑模控制(Sliding Mode Control,SMC)中的关键步骤。滑模控制是一种鲁棒控制…...
SQL Server 端口配置
目录 默认端口 更改端口 示例:更改 TCP 端口 示例:验证端口设置 远程连接测试 示例:使用 telnet 测试连接 配置防火墙 示例:Windows 防火墙设置 远程连接测试 示例:使用 telnet 测试连接 默认端口 TCP/IP: …...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...



