补充基本知识:
JAVA中String类提供了转大写的方法toUpperCase()和转小写的方法toLowerCase()
String a = "ABC"; system.out.println(a.toLowerCase());//abc String b = "abc"; system.out.println(b.toUpperCase());//ABC
习题描述:
描述 对于一个长度为 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的 图片更好的理解 字母的调换