Java重修笔记 第三十八天 String翻转

news2024/11/26 22:45:36
  • String翻转

1. 要求将字符串指定的部分进行翻转

public class StringHomework {
    public static void main(String[] args) {
        // 要求将字符串指定的部分进行翻转
        // 例如:abcdef ---> a edcb f   1, 4
        System.out.print("转换前: ");
        String s = "abcdef";
        String s1 = null;
        System.out.println(s);
        try {
            System.out.println("=========");
            System.out.print("转换后: ");
            System.out.println(StringHomework.reverse(s, 1, 4));
        } catch (NullPointerException e) {
            System.out.println(e.getMessage() + "传入的字符串为null!");
        }

    }

    public static String reverse(String str, int start, int end) throws NullPointerException{
        // 先将字符串转换为字符数组
        char[] chars = str.toCharArray();

        // 判断 str 是否合法
        if (str.isEmpty()) {
            throw new RuntimeException("传入的字符串数据不合法!");
        }

        // 判断 start 和 end 是否合法
        if (start < 0 || end > chars.length || start > end) {
            throw new RuntimeException("传入的起始位置数据不合法!");
        }

        // 进行数组翻转, 提取出要反转的部分
        char[] chars1 = new char[end - start + 1];
        System.arraycopy(chars, start, chars1, 0, chars1.length);
        // return new String(chars1);
        // 翻转 chars1 字符数组
        for (int i = 0; i < chars1.length / 2; i++) {
            char temp = chars1[i];
            chars1[i] = chars1[chars1.length - i - 1];
            chars1[chars1.length - i - 1] = temp;
        }
        // return new String(chars1);
        // 将原数组数据替换
        System.arraycopy(chars1, 0, chars, start, chars1.length);
        return new String(chars);
    }
}

运行结果:

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

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

相关文章

Libcity笔记:strnn_encoder.py

1 cal_basetime 2 calc_timeoff 3 encode 所以对于 STRNN来说&#xff0c;它的eval_data的每个元素是&#xff1a;

《Python 异常捕获全解析及 yield 关键字详解》

在 Python 中&#xff0c;异常捕获是一种处理程序运行时错误的机制&#xff0c;它可以使程序在出现错误时继续运行&#xff0c;而不是崩溃。以下是对 Python 中异常捕获的详细介绍&#xff0c;包括try、except、else、finally关键字以及对yield关键字的介绍和案例。 一、异常捕…

深入解析FSD烟火识别算法:全套源码与应用实例

一、背景 随着智能监控技术的不断发展&#xff0c;烟火识别&#xff08;Fire Smoke Detection, FSD&#xff09;算法在安防领域得到了广泛应用。传统的火灾探测方法主要依赖于温度传感器和烟雾报警器&#xff0c;这些方法在反应速度和准确性上存在一定局限。尤其是在广阔的户外…

rocketmq 同步复制,异步复制,同步刷盘,异步刷盘详解

一、刷盘模式 同步刷盘&#xff1a; 在返回写成功状态时&#xff0c;消息已经被写入磁盘。具体流程是&#xff0c;消息写入内存的PAGECACHE后&#xff0c;立刻通知刷盘线程刷盘&#xff0c;然后等待刷盘完成&#xff0c;刷盘线程执行完成后唤醒等待的线程&#xff0c;返回消息…

Visual C++ 微软常用运行库合集|dll报错必装

前言 Microsoft Visual C Redistributable&#xff08;简称MSVC&#xff0c;VB/VC&#xff0c;系统运行库&#xff09;是Windows操作系统应用程序的基础类型库组件。此版Visual C运行库组件合集&#xff08;微软常用运行库合集&#xff09;由国内封装爱好者Dreamcast打包而成&…

VulnStack1-内网渗透记录

网络结构 kali192.168.20.145windows7192.168.20.148/192.168.52.1432008192.168.52.138Win2k3192.168.52.130 三台虚拟机IP初始状态固定为192.168.52.0/24网段&#xff0c;所以将仅主机模式的网卡设置为192.168.52.0/24网段 漏洞利用 phpStudy 首先查看windows7的web服务…

个人理解—uboot启动过程(1)

在前文关于MKCONFIG的常用配置参数与链接脚本中逐渐的引入了通过uboot的文件启动校验头引入了uboot的汇编部分&#xff0c;该部分是为了去启动后续的uboot的c语言部分&#xff0c;但是c语言是需要使用到内存的&#xff0c;所以可用理解为&#xff1a;该汇编部分的主要目的就是为…

python异步编程-channels使用,创建websocket服务

目录 channels介绍准备工作创建python虚拟环境安装channels安装django安装daphne创建django项目创建chat应用 配置instance项目简单聊天室页面在chat应用中创建模板base.htmlroom.html 添加视图添加路由添加urls.py项目路由添加chat转发路由启动同步服务器 搭建websocket服务创…

H5 Q绑查询系统源码

源码名称&#xff1a;H5 Q绑查询系统源码 源码介绍&#xff1a;H5Q绑查询系统源码由2个H5单页组成&#xff0c;无需数据库或PHP环境。上传后修改接口即可运行。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.51888w.com/208.html

鸿蒙内核源码分析(重定位篇) | 与国际接轨

一个程序从源码到被执行&#xff0c;当中经历了3个过程&#xff1a; 编译&#xff1a;将.c文件编译成.o文件&#xff0c;不关心.o文件之间的联系.静态链接&#xff1a;将所有.o文件合并成一个.so或.out文件&#xff0c;处理所有.o文件节区在目标文件中的布局.动态链接&#xf…

将所有PPT中的字体颜色白色改成黑色---使用AI提高效率

背景 在工作中&#xff0c;遇到一个PPT&#xff0c;老板需求&#xff0c;将PPT页面的所有的字体从白色改成黑色&#xff0c; 检查了发现&#xff0c;这个ppt有几个问题&#xff0c;没有使用母版&#xff0c;都是每一页进行编写&#xff0c; 一共500多页&#xff0c; 如果每个…

Markdown中使用 LaTeX 绘图 -- TikZ

Markdown中使用 LaTeX 绘图 -- TikZ 1 介绍1.1 概述1.2 与其他图包对比 2 示例 & 学习[The TikZ and PGF Packages](https://tikz.dev/)[Graphics with TikZ in LaTeX](https://tikz.net/)[TikZ PGF Manual](https://www.bu.edu/math/files/2013/08/tikzpgfmanual.pdf)[在 …

中科亿海微伺服控制FOC解决方案

随着科技的不断进步和应用的不断扩展&#xff0c;电机控制技术的需求也在不断增加&#xff0c;主要的电机控制需求包括高精度控制、高效率、高可靠性和智能化等。 FOC&#xff08;磁场定向控制&#xff09;&#xff0c;也被称作VC&#xff08;矢量控制&#xff09;&#xff0c…

从用户体验说起,集运系统需要哪些重要的功能?

良好的用户体验是服务成功的关键&#xff0c;更是客户持续选择的理由。用户体验层面最简单的表达其实就是&#xff1a;别让我等、别让我想、别让我烦。 在当今时代&#xff0c;用户的期望正在不断提高&#xff0c;他们追求快捷、高效和透明的服务。因此&#xff0c;集运系统在…

生信圆桌x生信菜鸟团:生物信息学初学者的交流与成长社区

生信菜鸟团是一个专门为生物信息学初学者和爱好者打造的在线社区&#xff0c;致力于为广大生信学习者提供一个分享知识、交流经验、共同成长的平台。随着生物信息学在各大领域的快速发展&#xff0c;越来越多的研究者和学生开始涉足这一领域&#xff0c;但生信知识的广度和深度…

人才流失预测项目

在本项目中&#xff0c;通过数据科学和AI的方法&#xff0c;分析挖掘人力资源流失问题&#xff0c;并基于机器学习构建解决问题的方法&#xff0c;并且&#xff0c;我们通过对AI模型的反向解释&#xff0c;可以深入理解导致人员流失的主要因素&#xff0c;HR部门也可以根据分析…

备战秋招60天算法挑战,Day22

题目链接&#xff1a; https://leetcode.cn/problems/missing-number/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1HS42197Hc/ LeetCode 268.丢失的数字 题目描述 给定一个包含 [0, n] 中 n 个数的数组 nums &#xff0c;找出 [0, n] 这个范围内没有出现在数组…

基于Python flask的岗位招聘数据分析系统,应用Python、Flask框架、Pyecharts、Wordcloud等技术

基于Python Flask的岗位招聘数据分析系统旨在为企业人力资源部门和求职者提供一个全面的数据分析平台&#xff0c;通过对招聘数据的深度挖掘和可视化展示&#xff0c;帮助用户做出更明智的决策。该系统采用了Python、Flask框架&#xff0c;并结合Pyecharts、Wordcloud等技术&am…

Matplotlib基本操作

1.什么是Matplotlib matplotlib 是一个广泛使用的 Python 图形库&#xff0c;用于生成静态、动态和交互式的可视化图表。它最初由 John D. Hunter 创建&#xff0c;并首次发布于2003年。matplotlib 提供了一个面向对象的 API&#xff0c;允许用户创建多种类型的图表&#xff0c…

[JavaScript版本五子棋小游戏]

目录 全部运行代码&#xff1a;五子棋游戏的基本步骤&#xff1a;代码剖析&#xff1a;1. 初始化游戏界面2. 管理游戏状态3. 玩家交互4. 电脑AI5. 胜负判定6. 游戏控制 本文通过实现一个基本的五子棋游戏&#xff0c;展示了如何使用HTML、CSS和JavaScript来构建一个简单的交互式…