7.25扣...

思路:别的语言都可以不用辅助数组,我Java就得用!

c:先计算字符串中数字个数,然后利用双指针将原本字符串逆序从数组最后往前插入,若遇到数字则替换为逆序的“number”,这个过程会使新字符串从后往前覆盖,最后实现替代原字符串而不需要新的空间;

补充知识:

1.Character.isDigit(s.charAt(i)) 

是Java中的一个表达式,用于检查字符串 s 在索引 i 处的字符是否是一个数字。

这里的 s 是一个字符串(String 类型),charAt(i) 是 String 类的一个方法,用于获取字符串中指定索引 i 处的字符(char 类型)Character.isDigit(char ch) 是 Character 类的一个静态方法,用于检查指定的字符 ch 是否是一个数字(0到9之间的字符)

如果 s.charAt(i) 返回的字符是一个数字(即 '0' 到 '9' 中的任何一个),则 Character.isDigit(s.charAt(i)) 的结果为 true;如果不是数字,则结果为 false

2.s.toCharArray() 

是 Java 中 String 类的一个方法,它用于将字符串 s 转换成一个字符数组(char[])。这个方法会创建一个新的字符数组,并将字符串 s 中的每个字符按照顺序放入这个数组中。然后,这个方法会返回这个新创建的字符数组。

代码:

package CharacterString;
import java.util.Scanner;
public class ReverseString {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");String s = scanner.next();System.out.println(replaceNumber(s));scanner.close();}public static String replaceNumber(String s) {int count = 0;int sOldSize = s.length();for (int i = 0; i < s.length(); i++) {if (Character.isDigit(s.charAt(i))) {count++;}}//getcountchar[] newS = new char[s.length() + count * 5];int sNewSize = newS.length;System.arraycopy(s.toCharArray(), 0, newS, 0, sOldSize);for (int i = sOldSize -1, j = sNewSize-1 ; i < j; i--, j--) {if (!Character.isDigit(newS[i])) {newS[j] = newS[i];}if (Character.isDigit(newS[i])) {newS[j] = 'r';newS[j - 1] = 'e';newS[j - 2] = 'b';newS[j - 3] = 'm';newS[j - 4] = 'u';newS[j - 5] = 'n';j -= 5;}}return new String(newS);}
}

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

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

相关文章

为什么 Java 开发中时区设定用 Asia/Shanghai 而不是 GMT+8(防止踩雷)

在全球化的背景下&#xff0c;时区管理对于开发人员来说是个重要但复杂的问题。虽然中国的标准时间是 UTC8&#xff0c;但在实际开发中&#xff0c;特别是 Java 开发中&#xff0c;我们应尽量使用时区数据库中的区域/位置形式&#xff08;例如 Asia/Shanghai&#xff09;&#…

【View】Android 事件分发难道你还不会吗?

Android事件分发机制决定了触摸事件如何从顶层窗口传递到具体的视图。主要涉及到三个核心方法&#xff1a;dispatchTouchEvent(), onInterceptTouchEvent(), 和 onTouchEvent()。 1. dispatchTouchEvent() 这是事件分发的入口点。Activity, ViewGroup, 和 View 都重写了这个方…

UI界面卡顿检测工具--UIHaltDetector

引言&#xff1a; 在日常工作当中&#xff0c;我们经常会遇到软件的界面出现卡顿的问题&#xff0c;而为了确定卡顿原因&#xff0c;我特地写了一个UI界面卡顿的小工具&#xff1a;UIHaltDetector&#xff1b;该工具可以在检测到目标窗口出现卡顿的时候直接打印堆栈日志和输出…

iOS 获取mimetype

///根据地址 获取文件类型 (NSString *)mimeType:(NSURL *)url{NSURLRequest *request [NSURLRequest requestWithURL:url];NSURLResponse *response [[NSURLResponse alloc] init];[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:…

各种聚类方法的聚类思想介绍及其优缺点

聚类是一种无监督学习方法&#xff0c;旨在将数据集中的样本划分为若干个组&#xff0c;使得同一组内的样本相似度最大&#xff0c;而不同组之间的样本相似度最小。以下是几种常见的聚类方法及其思想、优缺点的介绍&#xff1a; 1. K-means 聚类 聚类思想&#xff1a; K-mea…

MySQL SQL 编程练习

目录 创建表并插入数据 查看表结构 创建触发器 创建INSERT 触发器 创建DELETE 触发器 创建更新触发器 创建存储过程 创建提取emp_new表所有员工姓名和工资的存储过程s1 创建存储过程s2&#xff0c;实现输入员工姓名后返回员工的年龄 创建一个存储过程s3&#xff0c;有2个参数&…

spring-from表单

在spring boot当中,from表单怎样开发(name=value) 先列出接口所需信息(抓包得到请求信息),将这些必要信息以注解的方式表达出来 步骤: 梳理前置条件(请求地址,请求header,请求方法,请求数据,响应结果)编辑一个普通类,在类上标记注解@Controller: 标记在类上,让类…

springboot校园商店配送系统-计算机毕业设计源68448

摘要 本文详细阐述了基于Spring Boot框架的校园商店配送系统的设计与实现过程。该系统针对校园内的用户需求&#xff0c;整合了用户注册与登录、商品浏览与购买、订单管理、配送追踪、用户反馈收集以及后台管理等功能&#xff0c;为校园内的普通用户、商家、配送员和管理员提供…

深入理解 SQL 中的 DATEDIFF 函数

DATEDIFF 是 SQL 中的一个常用函数&#xff0c;用于计算两个日期之间的天数差异。它非常有用&#xff0c;特别是在需要根据日期进行条件筛选或计算时间间隔的场景中。以下是对 DATEDIFF 函数的详细介绍&#xff0c;包括其语法和实用例子。 1. DATEDIFF 函数概述 DATEDIFF 函数…

算法与算法分析

目录 一.前言 二.算法的特性和要求 三.分析算法--时间效率 四. 分析算法--空间效率 一.前言 算法就是对特定问题求解方法和步骤的一种描述&#xff0c;它是指令的有限序列。其中&#xff0c;每个指令表示一个或多个操作。总而言之&#xff0c;我们数据结构就是通过算法实现操…

学习SQL如何使用CASE语句查询分析设备状态

学习SQL如何使用CASE语句查询分析设备状态 一、前言1. 问题背景2. SQL查询分析3. SQL查询解析 二、结论 一、前言 在实际应用中&#xff0c;经常需要对设备的状态进行监控和分析。通过SQL查询&#xff0c;我们可以有效地从数据库中提取和计算设备的状态信息。本文将介绍如何编…

FPGA实现LCD1602控制

目录 注意&#xff01; 本工程采用野火征途PRO开发板&#xff0c;外接LCD1602部件进行测试。 有偿提供代码&#xff01;&#xff01;&#xff01;可以定制功能&#xff01;&#xff01;&#xff01; 联系方式见底部 一、基础知识 1.1 引脚信息 1.2 指令 1.2.1 清屏 1.…

【有效的括号】

有效的括号 一、题目二、思路三、代码 一、题目 二、思路 利用栈先进后出的特点存储左括号&#xff1a;后面遍历遇到的左括号要先闭合 用map存储左括号与右括号的对应关系&#xff0c;利用键值对快速查找右括号进行匹配 三、代码 使用.has()方法判断当前遍历的字符是否是右括…

项目架构知识点总结

项目架构知识点总结 【一】重要注解【1】SpringBootApplication&#xff08;1&#xff09;⭐️ComponentScan 注解&#xff08;2&#xff09;⭐️EnableAutoConfiguration 注解&#xff08;3&#xff09;⭐️SpringBootConfiguration 注解&#xff08;4&#xff09;Inherited 注…

vite+cesium+天地图

创建vite项目 直接在地址栏输入cmd进入命令行&#xff08;vite项目默认为vue3&#xff09; # yarn yarn create vite 项目名称 --template vue 创建成功后依次执行 yarn install yarn dev 安装cesium和vite-plugin-cesium 没有加版本号默认为最新版本 加版本号如cesium1.1…

vue3——两种利用自定义指令实现防止按钮重复点击的方法

方法一&#xff1a;利用定时器设置时间&#xff0c;下方代码设置时间为1秒 但是有个缺点&#xff1a;请求如果很慢&#xff0c;1秒钟还没有好&#xff0c;那么该方法就没用了 // 利用定时器&#xff1a;1秒之后才能再次点击app.directive(preventReClick, {mounted: (el, bind…

sql注入的专项练习 sqlilabs(含代码审计)

在做题之前先复习了数据库的增删改查&#xff0c;然后自己用本地的环境&#xff0c;在自己建的库里面进行了sql语句的测试&#xff0c;主要是回顾了一下sql注入联合注入查询的语句和sql注入的一般做题步骤。 1.获取当前数据库 2.获取数据库中的表 3.获取表中的字段名 一、sql…

WordPress 后台开发技巧:向文章发布页右侧添加自定义菜单项

案例图片 这个案例向你介绍了如何在文章发布页的右侧边栏增加一个新的自定义菜单项。具体用它实现什么功能&#xff0c;就看你的需要了。 代码 function add_custom_menu_item() { add_meta_box(custom_menu_item, 这里是菜单项名称, display_custom_menu_item, post, side, …

基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网(1)-项目搭建(前期准备工作)

这是项目的初始页面 接下来我先写下我的初始项目搭建 技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 首先我们打开页面&#xff0c;准备搭建项目的初始准备 1.New Project 2.随后点击Next&#xff0c;勾…

C# Aspose PDF.dll 实现PDF添加水印

在C#中使用Aspose.PDF库来给PDF文档添加水印是一个常见的需求。Aspose.PDF是一个功能强大的库&#xff0c;它允许开发者在不需要Adobe Acrobat或其他PDF查看器的情况下创建、修改、渲染、打印和解析PDF文档。以下是一个使用Aspose.PDF库给PDF添加水印的基本示例&#xff1a; 首…