救基友记2
Time Limit: 1000MS
Memory Limit: 65536KB
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
行,表示转换后的字符串
Example Input
2 abjbjhcRazYdcRazYCraZy bbbnnnbbn
Example Output
abjbjhCrAZydCrAZycRAzY bbbnnnbbn
正确答案:
import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner in = new Scanner(System.in); String str; int t = in.nextInt(); while( t-->0 ){ str = in.next(); char []c = str.toCharArray(); if( c.length>4 ){ for( int i=4; i<c.length; i++ ){ if( c[i]=='y' && c[i-1]=='Z' && c[i-2]=='a' && c[i-3]=='r' && c[i-4]=='C' ) { c[i-4] = 'c'; c[i-3] = 'R'; c[i-2] = 'A'; c[i-1] = 'z'; c[i] = 'Y'; } if( c[i]=='Y' && c[i-1]=='z' && c[i-2]=='a' && c[i-3]=='R' && c[i-4]=='c' ){ c[i-4] = 'C'; c[i-3] = 'r'; c[i-2] = 'A'; c[i-1] = 'Z'; c[i] = 'y'; } } } for( int i=0; i<c.length; i++ ) System.out.print(c[i]); System.out.println(); } } }
错误答案(有哪位朋友可以指教一下吗):
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner (System.in); int n = in.nextInt(); while( n-->0 ){ String s; s = in.next(); StringBuffer s1 = new StringBuffer(); int i, j; for( i=0; i<s.length(); i++ ){ if( s.charAt(i)=='c' && s.charAt(i+1)=='R' && s.charAt(i+2)=='a' && s.charAt(i+3)=='z' && s.charAt(i+4)=='Y' ){ for( j=i; j<=i+4; j++ ){ if(Character.isUpperCase(s.charAt(j))){ s1.append(Character.toLowerCase(s.charAt(j))); }else if(Character.isLowerCase(s.charAt(j))) s1.append(Character.toUpperCase(s.charAt(j))); } i += 4; } else if( s.charAt(i)=='C' && s.charAt(i+1)=='r' && s.charAt(i+2)=='a' && s.charAt(i+3)=='Z' && s.charAt(i+4)=='y' ){ for( j=i; j<=i+4; j++ ){ if( Character.isUpperCase( s.charAt(j) ) ){ s1.append(Character.toLowerCase(s.charAt(j))); }else if(Character.isLowerCase(s.charAt(j))) s1.append(Character.toUpperCase(s.charAt(j))); } i += 4; } else s1.append( s.charAt(i)); } System.out.println(s1); } in.close(); } }