救基友记2
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
屌丝
WP
的好基友
CZ
又被妖鬼给抓走了(
CZ
啊,
CZ….
怎么说你好呢
…
.
吃着锅里想着碗里),为了求出
CZ
,他只好去求高富帅
RQ, RQ
给
WP
出了到题目说只要你能解决这道题目,他就答应帮屌丝
WP
去解救好基友
CZ
。题目描述如下:
给你一个字符串s,长度小于1000,让你找出该字符串所包含的所有子串"cRazY" 或者"CraZy",并将找出的子串的大写字母变成小写字母,小写字母变成大写字母,然后输出该字符串。
“好基友,一被子” 你作为WP的好基友,能帮他解决这个问题吗?
给你一个字符串s,长度小于1000,让你找出该字符串所包含的所有子串"cRazY" 或者"CraZy",并将找出的子串的大写字母变成小写字母,小写字母变成大写字母,然后输出该字符串。
“好基友,一被子” 你作为WP的好基友,能帮他解决这个问题吗?
Input
第
1
行是一个整数
T
,表示测试数据的个数(
1<=T<=10
)。接下来有
T
组测试数据。
每组测试数据包括包括一个字符串s
Output
输出
T
行,表示转换后的字符串
Sample Input
2 abjbjhcRazYdcRazYCraZy bbbnnnbbn
Sample Output
abjbjhCrAZydCrAZycRAzY bbbnnnbbn
String 类真是强大,用一个indexOf(String ,int),直接相当于模式匹配,简单操作。
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
while(t-->0) {
String s = cin.next();
int i = 0,j;
for(i = 0;i<s.length();i++) {
if(s.indexOf("CraZy", i)==-1&&s.indexOf("cRazY", i)==-1) {//如果返回-1,说明再这个字符串中没有与之匹配的,则全部输出
for(j =i;j<s.length();j++ ) {
System.out.print(s.charAt(j));
}
break;
}
else if(s.indexOf("CraZy", i)==i) {//返回当前i,说明从当前开始匹配,则直接输出变换后的字符串输出
System.out.print("cRAzY");
i = i+4;
}
else if(s.indexOf("cRazY", i)==i) {
System.out.print("CrAZy");
i = i+4;
}
else
System.out.print(s.charAt(i));
}
System.out.println();
}
}
}