pat甲级 1035 Password

Posted chenyuan#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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后必须赋值
            }
        }



   }
}

  

以上是关于pat甲级 1035 Password的主要内容,如果未能解决你的问题,请参考以下文章

pat甲级 1035 Password

PAT 甲级 A1035 (2019/02/10)

PAT1035 Password

pat 1035 Password(20 分)

PAT A1035 Password

PAT Advanced 1035 Password (20分)