题目解析
输出指定对用户的回答
解题思路
正则 匹配 替换 输出
代码
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
int n = sc.nextInt();
sc.nextLine();
while (n-- > 0)
{
String str = sc.nextLine();
String s = "";
for (int i = 0; i < str.length(); i++)
{
char a = str.charAt(i);
if (a >= 'A' && a <= 'Z' && a != 'I')
a = (char) (a - 'A' + 'a');
s += a;
}
// 去掉首位空格
s = s.trim();
// 去掉中间多余空格
s = s.replaceAll(" +", " ");
// 去掉标点符号前的多余空格
s = s.replaceAll(" (\\W)", "$1");
// ? 改为 !
s = s.replaceAll("\\?", "!");
// 预处理 将 can you 改为 A
s = s.replaceAll("\\b(can you)\\b", "A");
// 预处理 将 could you 改为 B
s = s.replaceAll("\\b(could you)\\b", "B");
// 预处理 将 I 或 me 改为 C
s = s.replaceAll("\\b(I|me)\\b", "C");
// 输出原话
out.println(str);
// 将 A 替换为 I can
s = s.replace("A", "I can");
// 将 B 替换为 I could
s = s.replace("B", "I could");
// 将 C 替换为 you
s = s.replace("C", "you");
// 输出修改后的字符串
out.println("AI: " + s);
}
out.flush();
out.close();
}
static Scanner sc = new Scanner(System.in);
static PrintWriter out = new PrintWriter(System.out);
}