题目
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古诗词。其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”。例如唐代诗人李贺有名句曰:“寻章摘句老雕虫,晓月当帘挂玉弓”,其中“虫”(chong)和“弓”(gong)都压了“ong”韵。于是这句诗就被糟改为“寻章摘句老雕虫,晓月当帘敲笨钟”。
现在给你一大堆古诗词句,要求你写个程序自动将压“ong”韵的句子糟改成“敲笨钟”。
分析
- 将每一行的诗以逗号为分割点分割为两部分
- 将后半句以空格为分割点分割为许多部分
- 然后查看后半句以空格为分割点分割后的最后一个是否含有ong
- 前半部分按理来说是同样的原理,但是出题人有点狗
- 他并没有说前半部分至少是多少个字符,所以可能连单词ong都不是
- 所以以逗号为分割点的前半部分应该用substring来分割,
- 如果length>=3,则substring(前半部分.length()-3,前半部分.length())
- 如果<3,则前半部分为空字符
代码
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
public class Main{
public static void main(String[]args) throws IOException{
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(sc.readLine());
for(int i=0;i<n;i++){
String []s = sc.readLine().split(",");
String []s2 = s[1].split(" ");
String num1 = "";
if(s[0].length()>=3){
num1 = s[0].substring(s[0].length()-3,s[0].length());
}
String num2 = s2[s2.length-1];
if(num1.contains("ong") && num2.contains("ong")){
System.out.print(s[0]+",");
for(int j=0;j<s2.length-3;j++){
System.out.print(s2[j]+" ");
}
System.out.println("qiao ben zhong.");
}
else{
System.out.println("Skipped");
}
}
}
}