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

276 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情

先给大家补充一点基本的知识:

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

String a = "ABC";
system.out.println(a.toLowerCase());//abc
String b = "abc";
system.out.println(b.toUpperCase());//ABC

字符串大小

  1. 可以使用String类的compareTo()方法来实现。该方法用于判断一个字符串是大于、等于还是小于另一个字符串,返回int类型的差值。判断字符串大小的依据是它们在字典中的顺序。
  2. 实现Comparable接口

代码如下: String s1 = "abc"; String s2 = "efg"; System.out.println(s1.compareTo(s2)); 大家可自行查看就结果;

习题描述:

描述
对于一个长度为 n 字符串,我们需要对它做一些变形。

首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。

比如"Hello World"变形后就变成了"wORLD hELLO"。

代码:

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;
    }

}

运行结果则是

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

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