import java.util.Scanner; public class ISBNValidator { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入一个ISBN号码:"); String isbn = input.next(); // 去掉中间的横杠 isbn = isbn.replace("-", ""); // 判断是否为13位数字 if (isbn.length() != 13 || !isbn.matches("\\d+")) { System.out.println("输入的ISBN号码不合法!"); return; } // 计算校验和 int sum = 0; for (int i = 0; i < 12; i++) { sum += (i % 2 == 0 ? 1 : 3) * (isbn.charAt(i) - '0'); } int checkDigit = 10 - sum % 10; if (checkDigit == 10) { checkDigit = 0; } // 比较校验位和计算出的校验和 if (checkDigit != isbn.charAt(12) - '0') { System.out.println("输入的ISBN号码不合法!"); return; } System.out.println("输入的ISBN号码合法!"); } }