题目描述
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,
其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),
最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。
ISBN码的首位数字表示书籍的出版语言,例如0代表英语;
第一个分隔符-之后的三位数字代表出版社,例如670代表维京出版社;
第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,
如果余数为10,则识别码为大写字母X。
例如ISBN号码0-670-82162-4中的识别码4是这样得到的:
对067082162这9个数字,从左至右,分别乘以1,2,...,9再求和,即0×1+6×2+……+2×9=158,
然后取158mod11的结果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

import java.util.Scanner;
public class P1055_ISBN号码 { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
String s=in.next();
int sum=0;
int j=1;
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)!='-')
{
sum+=j*(s.charAt(i)-'0');
j++;
if(j==10)
{
break;
}
}
}
int mod=sum%11;
if(mod==10)
{
if(s.charAt(s.length()-1)=='X')
{
System.out.println("Right");
}
else
{
System.out.println((s.substring(0, s.length()-1)+'X'));
}
}
else if(mod==s.charAt(s.length()-1)-'0')
{
System.out.println("Right");
}
else
{
System.out.println((s.substring(0, s.length()-1)+mod));
}
} }

最新文章

  1. 使用Object的wait,notify,notifyAll做线程调度
  2. 打造一款属于自己的web服务器——开篇
  3. 过程式编程 drawShapes
  4. C++侵入式链表
  5. [刷题]算法竞赛入门经典(第2版) 5-9/UVa1596 - Bug Hunt
  6. 环形进度条的实现方法总结和动态时钟绘制(CSS3、SVG、Canvas)
  7. ThreadLocal用例之周期为一次请求的变量
  8. js 设计模式之观察者模式
  9. hibernate的理解
  10. json_encode里面经常用到的 JSON_UNESCAPED_UNICODE和JSON_UNESCAPED_SLASHES
  11. 多线程爬虫爬取详情页HTML
  12. ( 大数 startsWith substring) Exponentiation hdu1063
  13. WIN10 ISO 官方
  14. POJ - 2823 Sliding Window (滑动窗口入门)
  15. TP微信扫码支付
  16. Choose GitLab for your next open source project
  17. 机器学习英雄访谈录之 Kaggle Kernels 专家:Aakash Nain
  18. ThreadLocal Java并发
  19. xshell分隔符
  20. Modsecurity原理分析--从防御方面谈WAF的绕过(一)

热门文章

  1. three.js all in one
  2. Learning CSS with Chrome DevTools
  3. toString()[0]
  4. Taro API
  5. regex read once bug
  6. html转png
  7. uniapp 自定义弹窗组件
  8. 云原生系列6 基于springcloud架构风格的本地debug实现
  9. MySQL的简单使用方法备忘
  10. 链接服务器sql语句