2014-11-03 2 views

답변

1

two.length() - 1에 멈추는 대신 two.length()으로 끝납니다. 배열은 0..length()-1에서 색인이 생성되므로이 방법은 작동하지 않습니다.

if (!(x >= two.length())) { 
+0

질문에 대답 할 수도 있지만, 프로그래밍에 대해 더 잘 알고 자하는 사람에게는 도움이되지 않습니다. –

+1

@ David : 저는 정중하게 반대합니다. OP는 여기 어레이에 대해 뭔가를 배웠다고 생각합니다. 앞으로 도움이 될 것입니다. – Keppil

+0

소리가 적당합니다. 내 사과 –

0

문자열이의 길이가 11 인 경우, 마지막 인덱스는 10 x는보다 큰 경우 그냥 확인하고 있습니다 :
그냥 문제를 해결하기 위해 루프 내부에 if 조건을 변경 2의 길이. 그러나 그것은 평등 할 수도 있습니다. 그냥> =

0

으로 변경하십시오. 우선, 이런 종류의 알고리즘을 다시 구현하지 마십시오.

String 클래스에 정의 된 compareTo (String) 메서드를 사용하십시오.

당신은 또한의 JDK의 소스 코드에서 배우고 특정 클래스에 대한 사용자 정의 비교를해야하는 경우가이 방법 http://hg.openjdk.java.net/jdk7u/jdk7u6/jdk/file/8c2c5d63a17e/src/share/classes/java/lang/String.java#l1096

을 구현하는 방법을 볼 수 있습니다, 당신은 비교기 인터페이스를 구현해야합니다.

자바를 배우기 시작하고 잘하고 싶다면. 최소한 오라클의 공식 Java 튜토리얼을 읽으십시오.

+0

compareTo 메소드를 사용했지만 읽을 수 없다는 것을 알았습니다. 그것은 나를 위해 이상한 결과를 반환했습니다. – user3448331

+0

'이상한'방법의 예를 제공하십시오. 나는 string에 대한 함수에서의 빌드가 예상대로 작동한다는 것을 100 % 확신한다. –