题目描述:输入一个字符串,多个单词之间以空格分开,不超过100个字符,将其所有元音字母全部大写,其他字母小写转处理,重新输出新的字符串,示例:输入:work day 输出:wOrk dAy
import java.util.LinkedList; import java.util.Locale; import java.util.Scanner; import java.util.stream.Collectors; public class Main20220601 { private static final String STRING_CODE = "a,o,e,i,u,A,O,E,I,U"; // 元音字母 public static void main(String[] args) { // 1 获取字符串 Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { // 2 字符串转成可执行流 char[] chars = scanner.nextLine().toCharArray(); LinkedList<String> linkedList = new LinkedList<>(); for (char ch : chars) { linkedList.add(String.valueOf(ch)); } // 3 判断是否有原音字母 String collect = linkedList.stream().map(ch -> getStr(STRING_CODE, ch)).collect(Collectors.joining()); // 4 返回新的字符串 } System.out.println(collect); } } private static String getStr(String str1, String str2) { if (str1.contains(str2)) { return str2.toUpperCase(Locale.ROOT); } return str2.toLowerCase(Locale.ROOT); } }
本地执行输入后效果:
题目本身考察对字符串的处理,在这里提供几组常用的字符串工具类:
java.lang.String //最原始的字符串类 public final class String implements java.io.Serializable, Comparable<String>, CharSequence
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> org.apache.commons.lang3.StringUtils; public class StringUtils
(37条消息) Java常用工具类:StringUtils_hughjin的博客-CSDN博客
Java实用的工具类StringUtils - 简书 (jianshu.com)
当然大家有更好的解答方案可以一起分享,感谢!