题目:输入一个字符串,只有0-9的数字和大写字母,若字符串中有”RED”的子字符串则抵消该”RED”字符串,输出字符串中最大的数字,若无,则输出-1。
输入:SGD2018RED567XHC111SDH
输出:2018567输入:SHGDDSVBXDJGH
输出:-1输入:HD333HS22EYF1CU88G
输出:333
import java.util.Scanner;
public class Main {
private static void max(String inputStr, StringBuffer outputStr)
{
String stemp = "";
for(int i=0;i<inputStr.length();i++)
{
char ch = inputStr.charAt(i);
if (ch>='0' && ch<='9')
outputStr.append(ch);
else
{
if (outputStr.length() > stemp.length())
stemp = outputStr.toString();
outputStr.delete(0,outputStr.length());
}
}
if (outputStr.length() > stemp.length())
stemp = outputStr.toString();
outputStr.replace(0,outputStr.length(),stemp);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputBe = sc.nextLine();
String sInput = "";
sInput = inputBe.replaceAll("RED","");
StringBuffer sb = new StringBuffer();
max(sInput,sb);
String out = sb.toString();
if("".equals(out))
System.out.println("-1");
else
System.out.println(out);
sc.close();
}
}