두 개의 String 개체를 허용하는 함수를 만들었습니다. 이 메서드는 두 문자열에만 나타나는 영문자가 나타날 때마다 요소 하나를 포함하는 문자 배열을 반환합니다. 어느 한 문자열의 알파벳이 아닌 문자는 무시됩니다. 모든문자열 구문 분석 및 비교
public static void main(String[] args) {
System.out.println(alphabetize("ABc","abC"));
}
static String alphabetize(String one, String two) {
String result = one + two;
String expression = "^[a-zA-Z]*$";
CharSequence inputStr = result;
Pattern pattern = Pattern.compile(expression);
Matcher matcher = pattern.matcher(inputStr);
if(matcher.matches()) {
char[] chars = result.toCharArray();
Set<Character> charSet = new LinkedHashSet<Character>();
for (char c : chars) {
charSet.add(c);
}
StringBuilder sb = new StringBuilder();
for (Character character : charSet) {
sb.append(character);
}
return (sb.toString());
} else {
return null;
}
}
먼저 어떻게 어떤 소문자 전에 나오는 모든 대문자로, 값 알파벳 순서가된다를 반환하는 방법으로 배열을 정렬 할 수 있습니다. 게다가, 케이스는 관련이 있고 고려되어야한다. 예를 들어, 제공된 문자열 "aBA"및 "abA"가있는 경우 함수는 두 번째 문자열에 대문자 B가 없기 때문에 { 'B', 'b'}로 구성된 배열을 반환해야하며 소문자 'b'는 첫 번째 문자열. 또한 여러 번 발생하는 것이 적절하므로 고려해야합니다. 예를 들어 제공된 문자열 "aba"및 "ba"가있는 경우 함수는 두 번째 문자열에 'a'문자가 한 번만 표시되므로 {a '}로 구성된 배열을 반환해야합니다.
예 :
사람이 문제 해결을 통해 나를 인도 할 수 있습니까? Java에서 저의 소수 경험은 저를 해결책으로 이끌지 않습니다.
결과 배열이 { 'A', 'B', 'b'} (으)로 구성된 경우 원하는대로 정렬 하시겠습니까 아니면 { 'A', 'B' 'a', 'b'}? – Zircon
코드를 형식화하는 데 많은 노력을 기울이십시오. –
@ 존 키스 미안 존, 포맷되지 않았습니까? –