当前位置: 首页 > news >正文

【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)

目录 ♦️练习一&#xff1a;用户登录 ♦️练习二&#xff1a;遍历字符串 ♦️练习三&#xff1a;统计字符次数数 ♦️练习四&#xff1a;拼接字符串 ♦️练习五&#xff1a;反转字符串 ♦️练习六&#xff1a;金额转换 ♦️练习七&#xff1a;手机号屏蔽 ♦️练习一&am…...

NSSCTF-GDOUCTF 2023新生赛

[GDOUCTF 2023]hate eat snake 考察&#xff1a;js代码审计 打开题目&#xff0c;发现需要坚持60秒&#xff0c;那么简单的一个思路就是修改得分的变量>60即可 办法1&#xff1a;修改变量 右键查看源代码&#xff0c;之后发现有一个snake.js的文件&#xff0c;ctrlf搜索i…...

论文解析——Character Region Awareness for Text Detection,字符级文本检测CRAFT算法

这篇论文来自CVPR2019&#xff0c;paper地址&#xff1a;Character Region Awareness for Text Detection。 代码&#xff1a;CRAFT-pytorch。 这篇论文主要解决之前的文本检测是基于word-level的检测框&#xff0c;不能识别任意形状的文本的问题。与之前的方法不同&#xff0…...

基于飞腾平台的Kafka移植与安装

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…...

【Python数据结构与算法】递归----算24

题目&#xff1a;算24 描述 给出4个小于10个正整数&#xff0c;你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是&#xff0c;是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定…...

TOSHIBA东芝代理商--芯智雲城,提供订货、报价、选型等服务!

关于东芝 东芝创立于1875年7月&#xff0c;是日本大型半导体制造商&#xff0c;全球知名的综合机电制造商和解决方案提供者&#xff0c;世界大型综合电子电器企业集团。东芝集团原名东京芝浦电气株式会社&#xff0c;在1939年东京电器与芝浦制作所正式合并成为现在的东芝&…...

sdwan

分支互联网络解决方案 - 华为企业业务 分支互联网络解决方案 随着5G、AI、物联网等新兴技术与云紧密结合&#xff0c;企业业务智能化和云化加速。 企业分支WAN流量激增&#xff0c;传统以MPLS专线为主的广域互联网络难以支撑业务发展。SD-WAN成为应对云时代的必然选择。 SD…...

Linux: network: 建立socket以及设置nonblock/opt所需的时间

最近在扩大socket数量的时候发现程序在完成所有的socket创建设置的时间不短。单线程下。 创建socket的步骤是&#xff0c;&#xff08;调用glibc/system call的接口&#xff09;&#xff1a; socket bind fcntl (sock, F_SETFL, flags); setsockopt 通过测试发现这几个步骤前后…...

git使用及代码规范

参考链接 git flow 简介代码审核的典型问题gitlab工作流...

职业教育大数据实验实训室建设应用案例

大数据作为一种重要的信息技术&#xff0c;对各行各业产生了深远的影响。职业教育作为培养应用型人才的摇篮&#xff0c;建设大数据实验实训室&#xff0c;对于提高学生的数据分析能力和解决实际问题的能力具有重要意义。唯众作为一家专注于教育技术领域的企业&#xff0c;凭借…...

【Academy】反序列化漏洞Insecure deserialization

反序列化漏洞Insecure deserialization 什么是序列化&#xff1f;序列化与反序列化什么是不安全的反序列化&#xff1f;不安全的反序列化漏洞是如何产生的&#xff1f;不安全的反序列化有什么影响&#xff1f;识别不安全的反序列化漏洞PHP序列化格式Java序列化格式 利用不安全的…...

【轨物推荐】康波、世界体系与创新范式:中国如何引爆新一轮产业革命

原创 邵宇、陈达飞 新财富 2019年12月31日 22:13 中美关系近两年备受关注&#xff0c;在诸多方面各方都已经形成了共识&#xff0c;但竞争博弈的结局富有争议性。当靠事物太近的时候&#xff0c;反而很难看清楚其面貌&#xff0c;使用康德拉季耶夫周期&#xff08;简称“康波”…...

[HCTF 2018]admin1

打开题目 尝试登陆 admin&#xff0c;123&#xff0c;直接试出来了 有投机取巧的成分&#xff0c;到github查看源码&#xff0c;也能找到用户名密码...

【Qwen-Audio部署实战】Qwen-Audio-Chat模型之对话机器人部署测试

系列篇章&#x1f4a5; No.文章1【Qwen部署实战】探索Qwen-7B-Chat&#xff1a;阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验&#xff1a;用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B&#xff1a;通过FastApi框架实现API的部署与调用4【Q…...

第一百八十五节 Java XML教程 - Java DOM简介

Java XML教程 - Java DOM简介 DOM是标准的树结构&#xff0c;其中每个节点包含来自XML结构的一个组件。 XML文档中两种最常见的节点类型是元素节点和文本节点。 使用Java DOM API&#xff0c;我们可以创建节点&#xff0c;删除节点&#xff0c;更改其内容&#xff0c;并遍历节…...

一款功能强大且免费的图片查看和管理工具

XnView MP是一款功能强大且免费的图片查看和管理工具&#xff0c;支持多种平台&#xff08;Windows、Mac和Linux&#xff09;&#xff0c;并基于相同的源代码实现统一的用户界面和体验。它不仅能够查看各种图片格式&#xff0c;还提供了丰富的编辑和管理功能。 图片查看与浏览…...

动手学强化学习 第 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&#xff0c;所以小李拿的是26&#xff0c;那么y46&#xff0c;那么小王或者小周拿的是92&#xff0c;所以选择三个数之和等于92的&#xff0c;所以选择D 分数 百分数 …...

滑模面、趋近律设计过程详解(滑模控制)

目录 1. 确定系统的状态变量和目标2. 定义滑模面3. 选择滑模面的参数4. 设计控制律5. 验证滑模面设计6. 总结 设计滑模面&#xff08;Sliding Surface&#xff09;是滑模控制&#xff08;Sliding Mode Control&#xff0c;SMC&#xff09;中的关键步骤。滑模控制是一种鲁棒控制…...

SQL Server 端口配置

目录 默认端口 更改端口 示例&#xff1a;更改 TCP 端口 示例&#xff1a;验证端口设置 远程连接测试 示例&#xff1a;使用 telnet 测试连接 配置防火墙 示例&#xff1a;Windows 防火墙设置 远程连接测试 示例&#xff1a;使用 telnet 测试连接 默认端口 TCP/IP: …...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决

问题&#xff1a; pgsql数据库通过备份数据库文件进行还原时&#xff0c;如果表中有自增序列&#xff0c;还原后可能会出现重复的序列&#xff0c;此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”&#xff0c;…...

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...