输入是一个字符串,字符串长度不超过 80 个字符。
输出其反码
Hello
Svool
JLU-CCST-2011
QOF-XXHG-2011
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s;
while ((s = br.readLine()) != null) {
if (s.equals("!")) break;
StringBuilder re = new StringBuilder("");
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c >= 'a' && c <= 'z') {
re.append(fun(c));
} else if (c >= 'A' && c <= 'Z') {
re.append(Fun(c));
} else {
re.append(c);
}
}
System.out.println(re);
}
}
private static char fun(char c) {
int t = c - 'a';
return (char) ('z' - t);
}
private static char Fun(char c) {
int t = c - 'A';
return (char) ('Z' - t);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
String s = scanner.next();
if (s.equals("!")){
break;
}else {
StringBuilder builder = new StringBuilder();
char[] array = s.toCharArray();
for (char c : array) {
if (c >= 'a' && c <= 'z')
builder.append((char) ('z' - (c - 'a')));
else if (c>='A'&&c<='Z')
builder.append((char) ('Z' - (c - 'A')));
else
builder.append(c);
}
System.out.println(builder.toString());
}
}
}
}
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder("");
while(sc.hasNext()){
String str = sc.nextLine();
if('!' == str.charAt(0)){
break;
}
char[] ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
sb.append(rev(ch[i]));
}
System.out.print(sb);
}
}
public static char rev(char c){
if(c>='a' && c<='z'){
return (char)('z'+'a'-c);
}else if(c>='A' && c<='Z'){
return (char)('A'+'Z'-c);
}
return c;
}
}
没有处理感叹号,就AC了。
但是处理一下也很简单,在reverse方法里加个else if()条件,判断下就行了,不过这里不是重点,重点是reverse方法上反码的实现。
import java.util.Scanner;
/**
* @author Allen_Hua
* @create_time 创建时间:May 12, 2018 7:28:49 PM 类说明
*/
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
String str = scan.nextLine();
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
System.out.print(reverse(arr[i]));
}
}
}
private static char reverse(char c) {
// TODO Auto-generated method stub
if (c >= 'a' && c <= 'z') {
return (char) ('a' + 'z' - c);
} else if (c >= 'A' && c <= 'Z') {
return (char) ('A' + 'Z' - c);
} else {
return c;
}
}
}