• 字符串变形(字符串大小写切换和变现)


    补充基本知识:

    JAVA中String类提供了转大写的方法toUpperCase()和转小写的方法toLowerCase()

    String a = "ABC";
    system.out.println(a.toLowerCase());//abc
    String b = "abc";
    system.out.println(b.toUpperCase());//ABC
    
    • 1
    • 2
    • 3
    • 4

    习题描述:

    描述
    对于一个长度为 n 字符串,我们需要对它做一些变形。
    
    首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。
    
    比如"Hello World"变形后就变成了"wORLD hELLO"
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    代码:

    package com.example.test;
    
    import java.util.Scanner;
    
    public class test {
    
        public static void main(String[] args) {
    
            System.out.println("请输入您需要反转的字段");
            Scanner scanner = new Scanner(System.in);
    
            while (scanner.hasNext()) {
    
                String st = scanner.nextLine();
    
    
                int len = st.length();
                System.out.println("长度为" + len);
                String ll= tanstring(st, len);
    
                System.out.println("得到转化后的值是"+ll);
            }
    
        }
    
        private static String tanstring(String st, int se) {
    
            String res = "";
            String tempStr = "";
            for (int i = 0; i < se; i++) {
                char c = st.charAt(i);//i 为长度  st为输入内容     charAr 类似获取下标的内容
    
                if (c >= 'a' && c <= 'z') {
                    tempStr += Character.toUpperCase(c);  //java 方法体 大写转化为小写
                } else if (c >= 'A' && c <= 'Z') {
                    tempStr += Character.toLowerCase(c); //java 方法体 小写转化为大写
                }
                //到此处 上面的方法完成大小写的切换  把每个单词独立出来进行 大小切换
                //下面的方法是 顺序切换
                //字符串拼接  每次循环结束之后  tempStr的值都是最后获取的 最后获取的值拼接在最前 就可以达到顺序的切换
                else {
                    tempStr = c + tempStr;
                    //保存上一次循环的值
                    res = tempStr + res;
                    tempStr = "";
                }
    
    
            }
            res = tempStr + res;
            System.out.println("输出的数据是" + res);
    
            return res;
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    运行结果则是

    请输入您需要反转的字段
    Hello Word Yan
    长度为14
    输出的数据是yAN wORD hELLO
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面提供一个debug的 图片更好的理解 字母的调换
    在这里插入图片描述

  • 相关阅读:
    操作系统-设备
    【数据结构】LRU缓存
    移动端测试
    测试平台部署三——Nginx
    【常见SQL报错及解决办法】个人记录,自用
    Shell——docker启动yapi
    C语言之动态内存管理_柔性数组篇(2)
    LoRa和LoRaWAN有什么区别?工业网关能用吗?
    Vue3+elementplus搭建通用管理系统实例五:后台主页搭建上
    052-第三代软件开发-系统监测
  • 原文地址:https://blog.csdn.net/qq_42055933/article/details/125427491