一、题目链接
http://noi.openjudge.cn/ch0107/22/
二、解题思路
三、实施步骤
四、Java程序
import java.util.Arrays;
import java.util.Scanner;
import static java.lang.Character.isLowerCase;
import static java.lang.Character.isUpperCase;
class DataInfo {
private String account;
private String password;
private String email;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
public class Main {
public String convertLowerUpper(String text) {
char[] ans = text.toCharArray();
int n = ans.length;
for (int i = 0; i < n; i++) {
if (isLowerCase(ans[i])) {
ans[i] = (char) (ans[i] - 32);
}
else if (isUpperCase((ans[i]))) {
ans[i] = (char) (ans[i] + 32);
}
}
return String.valueOf(ans);
}
public int[] updatePassword(DataInfo[] infos, String EMAIL) {
int n = infos.length;
int[] ans = new int[n];
int updated = 0;
for (int i = 0; i < n; i++) {
if (infos[i].getEmail().equals(EMAIL)) {
ans[updated] = i;
updated++;
infos[i].setPassword(convertLowerUpper(infos[i].getPassword()));
}
}
if (updated == 0) {
return null;
}
return Arrays.copyOfRange(ans, 0, updated);
}
public static void main(String[] args) {
Main test = new Main();
Scanner input = new Scanner(System.in);
String EMAIL = input.next();
int N = input.nextInt();
DataInfo[] infos = new DataInfo[N];
for (int i = 0; i < N; i++) {
infos[i] = new DataInfo();
infos[i].setAccount(input.next());
infos[i].setPassword(input.next());
infos[i].setEmail(input.next());
}
int[] ans = test.updatePassword(infos, EMAIL);
if (ans == null) {
System.out.print("empty");
}
else {
for (int e : ans) {
System.out.println(infos[e].getAccount() + " " + infos[e].getPassword());
}
}
}
}