[Kotlin] 버 전 번호 비교.
먼저 손 을 연습 하고 kotlin 으로 두 버 전 번 호 를 비교 합 니 다.사고방식 은 아래 와 같다.
흔히 볼 수 있 는 버 전 번 호 는 v1, 1.2.3, 1.1.0.332 이다.beat。대체적으로 이 몇 가지 에 대해 이 안에 하나의 규칙 이 있다. 모두 숫자 를 통 해 표 지 된 것 이 고 숫자의 순서에 따라 비교 한 것 이다. 예 를 들 어 이니셜 이 큰 버 전이 높다.이렇게 하면 간단 합 니 다. 버 전 번호 의 모든 숫자 를 추출 할 수 있 습 니 다. (정규 표현 식 으로 할 수 있 습 니 다) 그리고 그들의 길 이 를 통일 할 수 있 습 니 다. 길 이 는 당연히 큰 것 을 사용 할 수 있 습 니 다.이러한 버 전 번 호 는 완전히 숫자 로 구 성 된 문자열 이 되 었 고 길이 가 일치 하 므 로 Int 로 바 꾸 면 비교 할 수 있 습 니 다.사고방식 이 바로 이렇다. 아래 에 바로 코드 를 붙 였 다
fun compareVersion(v1: String, v2: String): String? {
if (v1 == null || v1.length < 1 || v2 == null || v2.length < 1) return null
val regEx = "[^0-9]"
val p = Pattern.compile(regEx)
var s1: String = p.matcher(v1).replaceAll("").trim()
var s2: String = p.matcher(v2).replaceAll("").trim()
val cha: Int = s1.length - s2.length
var buffer = StringBuffer()
var i = 0
while (i < Math.abs(cha)) {
buffer.append("0")
++i
}
if (cha > 0) {
buffer.insert(0,s2)
s2 = buffer.toString()
} else if (cha < 0) {
buffer.insert(0,s1)
s1 = buffer.toString()
}
val s1Int = s1.toInt()
val s2Int = s2.toInt()
if (s1Int > s2Int) return v1
else return v2
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.