首页 > 其他分享 >(字符串)01-字符串变形

(字符串)01-字符串变形

时间:2023-11-22 23:11:40浏览次数:41  
标签:01 charAt 变形 StringBuffer int result 字符串

 1 import java.util.*;
 2 
 3 public class Solution {
 4     /**
 5      * @param s string字符串 
 6      * @param n int整型 
 7      * @return string字符串
 8      */
 9     public String trans (String s, int n) {
10         // 校验字符串长度
11         if(n == 0) {
12             return s;
13         }
14         // 初始返回结果
15         StringBuffer result = new StringBuffer();
16         // 大小写转换
17         for(int i = 0; i < n; i++){
18             if(s.charAt(i) <= 'Z' && s.charAt(i) >= 'A') {
19                 // 大写转成小写
20                 result.append((char)(s.charAt(i) - 'A' + 'a'));
21             } else if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z') {
22                 // 小写转成大写
23                 result.append((char)(s.charAt(i) - 'a' + 'A'));
24             } else {
25                 // 空格直接复制
26                 result.append(s.charAt(i));
27             }
28         }
29         // 翻转整个字符串
30         result = result.reverse();
31         // 以空格为界二次翻转
32         for (int i = 0; i < n; i++){
33             // 确认单词的尾部序号
34             int j = i;
35             while(j < n && result.charAt(j) != ' ') {
36                 j++;
37             }
38             // 字符串中截取出空格之间的单词
39             String word = result.substring(i,j);
40             StringBuffer buffer = new StringBuffer(word);
41             // 反转单词
42             word = buffer.reverse().toString();
43             // 将单词替换为反转后的结果
44             result.replace(i, j , word);
45             // 更新单词的起始序号
46             i = j;
47         }
48         // 返回结果
49         return result.toString();
50     }
51 }

 

标签:01,charAt,变形,StringBuffer,int,result,字符串
From: https://www.cnblogs.com/StringBuilder/p/17850569.html

相关文章

  • 001swagger2--接口文档生成利器
    1.配置在springboot整合swagger21.1引入jar包<dependency><groupId>com.allen.pan</groupId><artifactId>allen-pan-core</artifactId><version>1.0</version></dependency&g......
  • DOJ-team-match 9-2017篮球队
    题面一道动态规划题\(f_{i, j, k}\)表示前i个人里取j个,身高大于等于k的方法数得到状态转移方程为\(f_{i, j, k} = f_{i − 1, j − 1, k − a_i}\)由于这样空间不够,我们需要降维代码:#include<bits/stdc++.h>usingnamespacestd;constintMAXN=2e5+5;int......
  • day01
    【一】下载Typora软件【1】下载官网Typora官方中文站(typoraio.cn)【2】破解(1)自己搜(2)直接用1.方法一下载资源到本地D:\Typora\resources文件夹下替换破解成功2.方法二下载资源到本地解压将文件复制到.\Typora(软件文件夹)里【二】markdo......
  • 【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5
    [HD2016.X1]价钱统计题目描述夏天到了,超市里摆满了各种各样的应季水果。现在知道:西瓜的价钱是每斤1.2元;桃子的价钱是每斤3.5元;葡萄的价钱是每斤4.5元;苹果的价钱是每斤5元。现在分别给出上述四种所购买的斤数(均不超过20),请你编写程序帮助售货员阿姨计算并依次输出顾客......
  • 浅谈字符串哈希 入门
    基本介绍字符串哈希的主要思路是这样的:首先选定一个进制\(P\),对于一个长度为\(N\)的字符串\(S\)的所有\(i(1\leqi\leqn)\)的\(S_1,S_2,...,S_i\)子串表示成\(P\)进制的值预处理记录下来。这样判断\(S_i,S_{i+1},...,S_{i+m-1}\)和\(T_1,T_2,...,T_m\)是否相等......
  • CSC1001 编程方法描述
    您应该在.py文件中为每个问题编写代码(请使用问题名称,例如,对于问题1,将其命名为q1.py)。请将所有.py文件打包到一个.zip文件,使用您的学生ID命名(例如,如果您的学生标识是123456,则文件应命名为123456.zip),然后通过Blackboard提交.zip文件。还请编写一个文本文件,其中提供了如何为每个代......
  • 无涯教程-Tcl - 字符串(Strings)
    Tcl的原始数据类型是字符串,这些字符串可以包含字母数字字符,仅数字,布尔值甚至二进制数据,Tcl使用16位Unicode字符,字母数字字符可以包含字母,包括非拉丁字符,数字或标点符号。字符串表示与其他语言不同,在Tcl中,当它只是一个单词时,不需要双引号。一个例子可以是-#!/usr/bin/tclshse......
  • JAVA 截取字符串的几种方法
    使用String类的substring()方法可以使用substring()方法来截取字符串中的一部分,它需要传入两个参数,第一个参数是起始位置,第二个参数是结束位置(不包含结束位置的字符)。例如:Stringstr="Hello,World!";Stringsubstr=str.substring(7,12);//World使用String类的s......
  • EEEN30141 Concurrent Systems
    该课程分为三个部分,将四个部分合在一起进行模拟百米短跑接力赛。比赛由NO_TEAMS参赛队和每个团队都有NO_MEMBERS成员。NO_TEAMS和NO_MEMBERS都是四个。课程的三个部分如下:•第1部分:这涉及创建和启动一个二维数组线程,每个线程代表一个runner,询问线程属性,以及使用随机数和时间......
  • 西门子1200PLC字符串拼接案例
    案例需求: 1、输入一段字符串使用逗号分割2、将输入的字符串在分割开头插入指定字符,如“W”3、重新输出添加的字符实现步骤:1、了解指令    2、创建DB块 3、编写逻辑代码使用SCL......