Java—ISBN号码问题
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,
其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示
书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的
五位数字代表该书在出版社的编号;最后一位为识别码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,
则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,
分别乘以1,2,…,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。
编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出是正确的ISBN号码。
输入格式
输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出格式
输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
样例输入1
0-670-82162-4
样例输出1
Right
样例输入2
0-670-82162-0
样例输出2
0-670-82162-4
之前忘记了X这么个东西。。。答案是参考答案,我自己写的都不好意思贴出来 = =,虽然结果一样,但是麻烦了好多。。
import java.io.BufferedReader;
import java.io.InputStreamReader;public class Main {public static void main(String args[]) {BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));try{int sum=0;char cc='0';String isbn_0 = bin.readLine();String isbn = isbn_0.replace("-", "");for(int i=0; i<9; i++){int ii = (int)isbn.charAt(i)-48;//'0'的ASCII为48sum += ii * (i+1);}sum = sum % 11;if(sum == 10) cc = 'X';//else cc = (char)(sum+48);if(cc == isbn.charAt(9)) System.out.println("Right");else{isbn_0 = isbn_0.substring(0,12) + cc;System.out.println(isbn_0);}}catch(Exception e){e.printStackTrace();}}
}
Java—ISBN号码问题相关推荐
- Java 洛谷 P1055 ISBN号码
题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...
- 【CSP】201312-2 ISBN号码(java实现)
题目: 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&quo ...
- Vijos:ISBN号码 java
ISBN号码 题: java代码: package Vijos;import java.util.Scanner;public class Main_004 {static long sum = 0; ...
- 洛谷P1055 ISBN 号码 —— JAVA
题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 99 位数字.11 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘 ...
- 书本ISBN号码校验
问题描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包 括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如"x-xxxxxxxx-x",其中符号&q ...
- 洛谷 P1055 ISBN号码【字符串+模拟】
P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...
- CCF真题 201312-2 ISBN号码
目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...
- Vijos p1484 ISBN号码
描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...
最新文章
- django学习笔记--数据库中的多表操作
- “后浪95后”吴尚哲的 CVPR 最佳论文:无需任何监督,即可重建三维图像
- 每天一道LeetCode-----找到第k个排列
- 字符串太占内存了,我想了各种奇思淫巧对它进行压缩
- 不知所措:您是否真的需要为您的API提供客户端库?
- leetcode 538. 把二叉搜索树转换为累加树 思考分析
- 博士生Science发文:很庆幸导师要求每周交工作进展汇报!
- 上传文件到ftp服务器
- php ajax loading图片居中显示,PHP语言入门之PHP+ajax实现登录按钮加载loading效果
- 无法连接终端授权服务器,许可证已过期的客户端可能无法连接到终端服务器的解决方案...
- 【Flutter--实战】Dart 语言快速入门
- 疫情下,裁员补偿标准不可不知
- ThinkPHP实现定时执行任务的两种方法
- 用最优的定位方式,获得经度、纬度
- 虎牙直播分类图片爬虫
- ansys workbench网格
- iPhone视频播放器(1)
- 单片机 I2C操作笔记——以 AT24C04为例
- Anaconda学习总结
- CES 2022、量子安全和激光雷达