【PAT甲级 替换指定字符】1035 Password (20 分) Java版 4/4通过
生活随笔
收集整理的這篇文章主要介紹了
【PAT甲级 替换指定字符】1035 Password (20 分) Java版 4/4通过
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
這個題挺簡單,意思就是把所有的1替換成@,0替換成%等等
讀題要仔細,輸出格式方面有幾個小坑:
- 末尾不要有多余的空格、換行
- 如果替換了,要在第一行輸出替換的條數
- 如果沒替換,要把題目給的字符串拼接一下,要輸出N的實際值,而不是僅輸出N
題解
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int total = Integer.valueOf(sc.nextLine());int count = 0;StringBuilder out = new StringBuilder();// 輸入for (int i = 0; i < total; i++) {String line = sc.nextLine();String[] arr = line.split(" ");String name = arr[0];String pwd = arr[1];// 判斷是否修改boolean modified = false;if (pwd.indexOf("1") != -1 || pwd.indexOf("0") != -1 || pwd.indexOf("l") != -1 || pwd.indexOf("O") != -1) {count++;modified = true;}// 修改pwd = pwd.replaceAll("1", "@").replaceAll("0", "%").replaceAll("l", "L").replaceAll("O", "o");if (modified) {out.append(name + " " + pwd + "\n");}}// 輸出if (count == 0) {if (total == 1) {System.out.println("There is 1 account and no account is modified");} else {System.out.println("There are " + total + " accounts and no account is modified");}} else {System.out.println(count);out = out.deleteCharAt(out.length() - 1);System.out.println(out.toString());}} }總結
以上是生活随笔為你收集整理的【PAT甲级 替换指定字符】1035 Password (20 分) Java版 4/4通过的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CentOS7配置】如何设置:启动后自
- 下一篇: 【PAT甲级 LinkedHashMap