方法1::你完全可以先对输入的字符串,截取成单个字符对每一个字符进行匹配大小写,这里使用的是正则匹配。匹配完转换大小写并拼接字符串。就ok了。
方法2:还可以通过得到单个字符的索引值,判断该字符是不是在a_z或者A_Z,然后对它们进行加减32的操作,最后像上面一样拼接字符串。贴一下我的代码。希望对楼主有帮助。- package com.itheima;
- import java.util.Scanner;
- public class Test6 {
- /**
- * 6、 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转 (大写字母转成小写,小写字母转成大写)。
- */
- public static void main(String[] args) {
- System.out.println("请输入所要转换的字母或单词!");
- //定义并初始化键盘读入语句
- Scanner sc = new Scanner(System.in);
- //声明字符串接收从键盘读取的字符串
- String str = sc.nextLine();
- //调用转换函数
- str = transverter(str);
- System.out.println(str);
- }
- public static String transverter(String str) {
- //定义正则表达式用于匹配所输入的字符串
- String reg1 = "[a-z]";
- String reg2 = "[A-Z]";
- String resu = "";
- for (int i = 0; i < str.length(); i++) {
- //截取字符串的单个字符
- String s= str.substring(i,i+1);
- //进行匹配操作
- if (s.matches(reg1)) {
- //对s字符转换成大写
- s = s.toUpperCase();
- //拼接字符串
- resu +=s;
- //进行匹配操作
- } else if (s.matches(reg2)) {
- //对s字符转换成小写
- s = s.toLowerCase();
- //拼接字符串
- resu +=s;
- }
- }
- return resu;
- }
- }
复制代码 |