每一本正式出版的图书都有一个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号码问题相关推荐

  1. Java 洛谷 P1055 ISBN号码

    题目链接:https://www.luogu.com.cn/problem/P1055 输入格式 一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求). 输出格式 一行,假如输 ...

  2. 【CSP】201312-2 ISBN号码(java实现)

    题目: 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&quo ...

  3. Vijos:ISBN号码 java

    ISBN号码 题: java代码: package Vijos;import java.util.Scanner;public class Main_004 {static long sum = 0; ...

  4. 洛谷P1055 ISBN 号码 —— JAVA

    题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 99 位数字.11 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘 ...

  5. 书本ISBN号码校验

    问题描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包 括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如"x-xxxxxxxx-x",其中符号&q ...

  6. 洛谷 P1055 ISBN号码【字符串+模拟】

    P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  7. CCF真题 201312-2 ISBN号码

    目录 1 题目 1.1 问题描述 1.2 输出格式 1.3 样例输入 1.4 样例输出 1.5 样例输入 1.6 样例输出 2 代码 1 题目 1.1 问题描述 每一本正式出版的图书都有一个ISBN号 ...

  8. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  9. Vijos p1484 ISBN号码

    描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-" ...

最新文章

  1. django学习笔记--数据库中的多表操作
  2. “后浪95后”吴尚哲的 CVPR 最佳论文:无需任何监督,即可重建三维图像
  3. 每天一道LeetCode-----找到第k个排列
  4. 字符串太占内存了,我想了各种奇思淫巧对它进行压缩
  5. 不知所措:您是否真的需要为您的API提供客户端库?
  6. leetcode 538. 把二叉搜索树转换为累加树 思考分析
  7. 博士生Science发文:很庆幸导师要求每周交工作进展汇报!
  8. 上传文件到ftp服务器
  9. php ajax loading图片居中显示,PHP语言入门之PHP+ajax实现登录按钮加载loading效果
  10. 无法连接终端授权服务器,许可证已过期的客户端可能无法连接到终端服务器的解决方案...
  11. 【Flutter--实战】Dart 语言快速入门
  12. 疫情下,裁员补偿标准不可不知
  13. ThinkPHP实现定时执行任务的两种方法
  14. 用最优的定位方式,获得经度、纬度
  15. 虎牙直播分类图片爬虫
  16. ansys workbench网格
  17. iPhone视频播放器(1)
  18. 单片机 I2C操作笔记——以 AT24C04为例
  19. Anaconda学习总结
  20. CES 2022、量子安全和激光雷达

热门文章

  1. 时间序列:移动窗口函数(rolling,expanding)
  2. STM32L031 HAL库读写内部EEprom
  3. WIN10 USB 代码19 无法识别USB
  4. Python:OpenCV4识别一个蓝色的圆并估算到相机的距离
  5. LaTex使用技巧10:公式中的各种英文字体
  6. 大数据技术之Hadoop-入门
  7. mongodb的单机和集群安装手册
  8. 大数据时代的 3V + 3高
  9. Java EE的几个常用框架简介
  10. 卷积神经网络CNNs详解参考----MNIST