救基友记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(); } } }