728x90
1.5.1, 1.5.7과 같이 Semantic version으로 구성된 버전의 크기 비교하는 자바 코드 입니다.
public class VersionComparisonExample {
public static void main(String[] args) {
String v1 = "1.5.1";
String v2 = "1.5.7";
String[] arr1 = v1.split("\\.");
String[] arr2 = v2.split("\\.");
int i = 0;
while (i < arr1.length || i < arr2.length) {
if (i < arr1.length && i < arr2.length) {
if (Integer.parseInt(arr1[i]) < Integer.parseInt(arr2[i])) {
System.out.println(v2 + " is greater than " + v1);
return;
} else if (Integer.parseInt(arr1[i]) > Integer.parseInt(arr2[i])) {
System.out.println(v1 + " is greater than " + v2);
return;
}
} else if (i < arr1.length) {
if (Integer.parseInt(arr1[i]) != 0) {
System.out.println(v1 + " is greater than " + v2);
return;
}
} else if (i < arr2.length) {
if (Integer.parseInt(arr2[i]) != 0) {
System.out.println(v2 + " is greater than " + v1);
return;
}
}
i++;
}
System.out.println(v1 + " and " + v2 + " are equal");
}
}
- 위 코드는 먼저 입력된 버전 문자열을 .을 구분자로 나누어 배열에 저장합니다.
- 배열의 원소를 하나씩 비교하며, 만약 같은 자리 수에서 버전이 다르다면 해당 버전이 더 높다는 것을 결론으로 출력합니다.
- 1.5.1보다 1.5.7이 더 높은 버전이므로, 위 코드는 1.5.7 is greater than 1.5.1을 출력합니다.
728x90
'Programming > Java' 카테고리의 다른 글
[Java] 다형성 (0) | 2023.02.24 |
---|---|
[Java] 팩토리얼 계산하는 코드 만들기 (0) | 2023.02.23 |
map과 list 중 검색 속도가 빠른 것은? (0) | 2023.02.23 |
HashMap과 시간 복잡도 (0) | 2023.02.23 |
ConcurrentModificationException (0) | 2023.02.23 |