java验证13位数书号_ISBN(国际标准书号)的校验

该Java代码实现了对10位和13位国际标准书号(ISBN)的校验,遵循GB/T 5795-2006和ISO 2108:2005标准。通过检查ISBN的合法性,包括校验位的计算,确保了输入的ISBN是否有效。
摘要由CSDN通过智能技术生成

publicfinalclassISBN {/*** 根据输入的ISBN号,检验ISBN的有效性。依据 GB/T 5795-2006 和 ISO 2108:2005 ISBN

* 10位标准和13位标准实现(13位标准自2007年1月1日开始实行,在此之前采用10位标准)。

*

*@paramString isbn:需要进行校验的ISBN字符串

*@returntrue:所输入的ISBN校验正确;

false:所输入的ISBN校验错误*/publicstaticbooleancheckISBN(String isbn) {intcount=0;intcheckBitInt=0;//将ISBN数据全取大写字母//isbn = isbn.toUpperCase();char[] cs=isbn.toCharArray();switch(isbn.length()) {case10://****************************************************************//当ISBN为10位时,进行的校验,用于2007年1月1日前的出版物//数据格式:从左至右前9位为ISBN数据,第10位为校验位//校验方法://(1) 从左至右将前9位数据从10开始至2进行编号,作为位权//(2) 将9位数据与各位位权进行加权,并求其9位和(称为加权和,记作M)//(3) 第10位校验位计算方法,校验位为C://M + C ≡ 0 (mod 11)//C为10时,记作“X”//****************************************************************//取出前9位数字进行加权和计算for(inti=0; i<9; i+&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值