pat甲级 1035 Password
题目:
中文翻译:就是有一些参加pat考试的用户给他们账号密码的时候,有一些憨憨对于密码中的一些符号会出现误会
1和l认不清 0和O认不清 所以解决办法就是把这四个符号用其余符号代替一下
1)1用@代替
2)0用%代替
3)l用L代替
4)O用o代替
注意输出格式 末尾的输出格式有单复数的问题和is和are的区别,注意搞清楚
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
List<Integer> list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine();
String a[][] = new String[n][2];//申请一个n行2列的数组
for(int i=0;i<n;i++){
a[i]=scanner.nextLine().split(" ");
}
int sum=0;
for(int i=0;i<n;i++){
if(a[i][1].contains("1")||a[i][1].contains("l")||a[i][1].contains("0")||a[i][1].contains("O")){
a[i][1]=a[i][1].replace('1','@');
a[i][1]=a[i][1].replace('l','L');
a[i][1]=a[i][1].replace('0','%');
a[i][1]=a[i][1].replace('O','o');
sum++;
list.add(i);
}
}
if(sum==0){
if(n==1){
System.out.println("There is 1 account and no account is modified");
}
else{
System.out.println("There are " +n+ " accounts and no account is modified");//有is和are的区别还有account的单复数问题
}
}else
{
System.out.println(sum);
for(int i = 0;i<list.size();i++){
System.out.println(a[list.get(i)][0]+" "+a[list.get(i)][1]);//replace函数有个tips需要知道的就是,replace()是不会改变现有字符串的内容,他会返回修改的新字符串,所以字符串replace后必须赋值
}
}
}
}

浙公网安备 33010602011771号