P1055_ISBN号码(JAVA语言)

题目描述
每一本正式出版的图书都有一个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));
		}
	}

}

 

全部评论

相关推荐

03-05 16:22
已编辑
西安邮电大学 Web前端
点赞 评论 收藏
分享
03-04 07:14
门头沟学院 C++
后测速成辅导一两个月...:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
4734次浏览 44人参与
# 你的实习产出是真实的还是包装的? #
1062次浏览 27人参与
# MiniMax求职进展汇总 #
22816次浏览 293人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
6867次浏览 36人参与
# 简历第一个项目做什么 #
31243次浏览 312人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186322次浏览 1114人参与
# 米连集团26产品管培生项目 #
3914次浏览 181人参与
# 面试紧张时你会有什么表现? #
30313次浏览 188人参与
# 简历中的项目经历要怎么写? #
309349次浏览 4149人参与
# 网易游戏笔试 #
6301次浏览 83人参与
# 职能管理面试记录 #
10676次浏览 59人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
6825次浏览 154人参与
# 从哪些方向判断这个offer值不值得去? #
56693次浏览 357人参与
# 腾讯音乐求职进展汇总 #
160385次浏览 1105人参与
# 小红书求职进展汇总 #
226838次浏览 1356人参与
# AI时代,哪些岗位最容易被淘汰 #
62336次浏览 725人参与
# 你怎么看待AI面试 #
179221次浏览 1160人参与
# 正在春招的你,也参与了去年秋招吗? #
362456次浏览 2631人参与
# 你的房租占工资的比例是多少? #
92120次浏览 896人参与
# 机械求职避坑tips #
94393次浏览 567人参与
# 校招笔试 #
465886次浏览 2948人参与
# 面试官最爱问的 AI 问题是...... #
27052次浏览 834人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务