JAVA-1043. 输出PATest(20)

来源:互联网 发布:音频剪辑软件mac版 编辑:程序博客网 时间:2024/06/06 00:14

给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。

输入格式:

输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee

import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Vector;/**  * 拆分放入数组 */public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        String str = sc.nextLine();        int[] arr = new int [6];        for (int i = 0; i < str.length(); i++) {            if ('P' == str.charAt(i)) {                arr[0]++;            } else if ('A' == str.charAt(i)) {                arr[1]++;            } else if ('T' == str.charAt(i)) {                arr[2]++;            } else if ('e' == str.charAt(i)) {                arr[3]++;            } else if ('s' == str.charAt(i)) {                arr[4]++;            } else if ('t' == str.charAt(i)) {                arr[5]++;            }        }        while(true) {            if(arr[0] != 0) {                System.out.printf("P");                arr[0]--;            }             if(arr[1] != 0) {                System.out.printf("A");                arr[1]--;            }             if(arr[2] != 0) {                System.out.printf("T");                arr[2]--;            }             if(arr[3] != 0) {                System.out.printf("e");                arr[3]--;            }             if(arr[4] != 0) {                System.out.printf("s");                arr[4]--;            }             if(arr[5] != 0) {                System.out.printf("t");                arr[5]--;            }             if(arr[1] == 0 && arr[2] == 0 && arr[3] == 0 &&                    arr[4] == 0 && arr[5] == 0) {                break;            }        }    }}
原创粉丝点击