HDOJ 2025 查找最大元素

Problem Description
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。

Input
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

Output
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入”(max)”。

Sample Input
abcdefgfedcba
xxxxx

Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)

在此介绍2个Java的String的函数:

replace和replaceAll
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字
符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); 
2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过
replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号; 

    相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的
这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串; 
    另外,如果replaceAll()replaceFirst()所用的参数据不是基于规
字符串的操作; 

    还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的. 

用replace()或者replaceAll()在本题中都一样的:

import java.util.Scanner;

class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String Strs = sc.nextLine();
            char Maxchar = Strs.charAt(0);
            for(int i=1;i<Strs.length();i++){
                if(Maxchar<Strs.charAt(i)){
                    Maxchar=Strs.charAt(i);
                }
            }
            System.out.println(Strs.replaceAll(""+Maxchar, Maxchar+"(max)"));
/**System.out.println(Strs.replace(""+Maxchar, Maxchar+"(max)"));**/
        }

        }
    }

}
上一篇:zabbix通过企业微信应用发送告警消息


下一篇:剑指Offer_12_矩阵中的路径(参考问题:马踏棋盘)