import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @param n int整型 * @return string字符串 */ public String trans (String s, int n) { // write code here StringBuilder sb = new StringBuilder(); /** 在Java中,split()方法用于将字符串拆分为子字符串数组,其中第一个参数是要用作分隔符的正则表达式, 第二个参数是用于限制拆分后的子字符串数量的整数值。当第二个参数为正数时,它表示最多返回的子字符串数量; 当为负数时,例如-1,它表示不限制返回的子字符串数量,即将字符串全部拆分。在这种情况下, 即使字符串末尾有连续的分隔符,也会保留空字符串作为子字符串。 */ String[] arr = s.split(" ", -1); Stack<String> st = new Stack<>(); for (String x : arr) { st.push(x); } while (!st.isEmpty()) { String x = st.pop(); for (char c : x.toCharArray()) { if (Character.isLowerCase(c)) { sb.append(Character.toUpperCase(c)); } if (Character.isUpperCase(c)) { sb.append(Character.toLowerCase(c)); } } sb.append(" "); } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } }
使用split方法,注意第二个参数的使用。