写下面代码的题解import java.util.Scanner; public class InsertMax { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); // 读取输入的字符串 char maxChar = ' '; // 用于存储最大字母 for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c > maxChar) { maxChar = c; // 更新最大字母 } } StringBuilder stringBuilder = new StringBuilder(str); // 将字符串转换为StringBuilder类型 for (int i = 0; i < stringBuilder.length(); i++) { char c = stringBuilder.charAt(i); if (c == maxChar) { stringBuilder.insert(i + 1, "(max)"); // 在最大字母后面插入“(max)”,用insert(int offset, 任意类型) 在某个index后插入字符串。 i += 5; // 更新i的值,避免重复插入 } } System.out.println(stringBuilder.toString()); // 输出结果 } }
时间: 2024-02-14 18:23:45 浏览: 149
这段代码的功能是读取用户输入的字符串,找到字符串中最大的字母,并在其后面插入“(max)”字符串,最后输出结果。
在main方法中,首先创建了一个Scanner对象,用于读取用户输入的字符串。然后使用nextLine()方法读取用户输入的字符串,并将其存储在str变量中。
接下来,定义一个char类型的变量maxChar,用于存储最大的字母。使用一个for循环遍历字符串中的每一个字符,将其与maxChar进行比较,如果比maxChar大,则更新maxChar的值。
接下来,将字符串str转换为StringBuilder类型,并使用for循环遍历字符串中的每一个字符。如果字符等于maxChar,则在其后面插入“(max)”字符串,使用insert(int offset, 任意类型)方法实现。由于插入了5个字符,因此需要将i的值加上5,避免重复插入。
最后,使用toString()方法将StringBuilder类型转换为String类型,并输出结果。
阅读全文