package k20231207;

import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.Scanner;
public class SaUpNoCheckTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("유효성을 검사할 사업자등록번호 10자리를 '-'없이 입력하세요: ");
String saup = scanner.nextLine().trim();
// 네이버 사업자 2208162517
// 10개의 각자리의 수와 가중치를 곱한다.
// 7번째 index까지는 곱한 값의 1의 자리만 취해서 합한다.
// 7번째 index까지의 합계에 8번째 index의 10의 자리수와 1의 자리수를 더한다
// 합계에 9번째 index수를 더한 값이 10의 배수이면 유효한 사업자 번호
String check = "137137135"; //가중치
int sum = 0;
// 8번째 인덱스까지의 가중치 곱한 결과의 1의 자리 합
for (int i=0; i<9; i++ ) {
sum += (Integer.parseInt(saup.charAt(i) + "") * Integer.parseInt(check.charAt(i) + "") % 10);
}
// 8번째 인덱스의 가중치곱의 10의 자리 수를 더한다
sum += Integer.parseInt(saup.charAt(8) +"" ) * Integer.parseInt(check.charAt(8) + "") / 10;
System.out.println(sum);
// 9번째 인덱스의 가중치곱을 더한다
sum += Integer.parseInt(saup.charAt(9) + "");
System.out.println(sum);
// 유효한지 확인한다 sum이 10의 배수면 정상 아니면 오류
System.out.println( sum % 10 == 0 ? "정상" : "오류");
}
}
'java&eclipse 코딩 알고리즘 > 20231207' 카테고리의 다른 글
| StringMethodTest (0) | 2023.12.15 |
|---|---|
| StringBuliderTest (0) | 2023.12.15 |
| JuminNoCheckTest5 (0) | 2023.12.15 |
| JuminNoCheckTest3 (0) | 2023.12.15 |
| JuminNoCheckTest2 (0) | 2023.12.15 |