有一个JAVA小程序,要求是。给你ISBN10的前9位,算出最后一位,然后输出新的isbn号码。计算第十位的方法是这样。校验码的计算方法10位1.假设某国际标准书号号码前9位是:7-309-04547;...

有一个JAVA小程序,要求是。给你ISBN10的前9位,算出最后一位,然后输出新的isbn号码。计算第十位的方法是这样。校验码的计算方法

10位

1.假设某国际标准书号号码前9位是:7-309-04547;

2.计算加权和S:S = 7×10+3×9+0×8+9×7+0×6+4×5+5×4+4×3+7×2 = 226;

3.计算S÷11的余数M:M = 226 mod 11 = 6;

4.计算11 - M 的差N:N = 11 − 6 = 5

如果N = 10,校验码是字母“X”;

如果N = 11,校验码是数字“0”;

如果N为其他数字,校验码是数字N。

所以,本书的校验码是5,故该国际标准书号为 ISBN 7-309-04547-5。

我写了这样的程序

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package javaapplication1;

/**

*

* @author Jinchuan

*/

import java.util.Scanner;

public class Exercise03_09 {

public static void main(String[] args) {

System.out.print("Enter the first 9-digit of an ISBN number as integer: ");

Scanner input = new Scanner(System.in);

int i = input.nextInt();

int a = (i / 100000000) * 10;

int b = ((i / 10000000)/10) * 9;

int c = ((i / 1000000)/100) * 8;

int d = ((i / 100000)/1000) * 7;

int e = ((i / 10000)/10000) * 6;

int f = ((i / 1000)/100000) * 5;

int g = ((i / 100)/1000000) * 4;

int h = ((i / 10)/10000000) * 3;

int j = ((i / 1)/100000000) * 2;

int r = (a + b + c + d + e + f + g + h + j) % 11 ;

if (r == 10)

System.out.print("The ISBN number is " + a + b + c + d + e + f + g + h + j + "X");

else

if (r == 11)

System.out.print("The ISBN number is " + a + b + c + d + e + f + g + h + j + "0");

else

System.out.print("The ISBN number is " + a + b + c + d + e + f + g + h + j + r);

}

}

但是,结果总是不对,。我做了下Debug。发现如果在第一步带入int值为013601267,在debug中。只会背带入为3080887. 我实在没头绪为什么会变成这样啊?

展开

java isbn_JAVA ISBN计算问题。。简单JAVA编程相关推荐

  1. java精确除法计算,四舍五入 Java问题通用解决代码

    java精确除法计算,四舍五入 Java问题通用解决代码 参考文章: (1)java精确除法计算,四舍五入 Java问题通用解决代码 (2)https://www.cnblogs.com/svenne ...

  2. JAVA实现命令助手_samples/简单语音编程,将手机打造成智能助手.md · javalovercn/HomeCenter - Gitee.com...

    ## 开发 语音小助手 让我们用不到50行代码来开发一个跨平台语音生活助手(可运行于iPhone和Android),它会回答以下类似问题: 1. "讲个笑话", 2. " ...

  3. java爬虫自动识别验证码_简单Java爬虫(一)爬取手机号码

    原创 野狗菌 希望你能喜欢 今天 关于本文: 本文介绍一个简单Java爬虫,获取网页源码,爬取电话号码. 本篇教程用我的博客一个测试网页演示. --野狗菌[希望你能喜欢] 测试页面: https:// ...

  4. java 分析类_java--分析简单java类与反射的联系

    分析简单java类与反射的联系 web对反射的操作支持 在JSP之中有一种技术--javaBean.而且在jsp里面也配套有相应的操作方式,javaBean的核心在于简单java类,于是下面演示此操作 ...

  5. java和c语言哪个简单_Java编程和C语言哪个好学

    学哪种编程语言好?计算机编程语言非常多,诸如Java.C.C++.PHP等,很多人在选择的时候都会觉得头大.到底学哪种编程语言好? 很多人都拿Java和c相比较,那么今天小编就来先说说我的个人理解吧, ...

  6. java中日期计算时间差,用java计算日期/时间差

    用java计算日期/时间差 我也想计算两个日期之间的差额以小时/分钟/秒为单位. 我的代码有一个小问题,就是:String dateStart = "11/03/14 09:29:58&qu ...

  7. java输入日期计算天数_(JAVA)输入年月日,计算日期是今年的第几天?

    展开全部 import java.util.Scanner; /** * Created by xpf on 2018/6/22 :) * GitHub:xinpengfei520 * Functio ...

  8. java软件发布_发布简单java程序

    oh shit tmd! 一个小小的java类搞了一下午!! 以后记住了,一个项目里只写一个main方法,写多了麻烦也就多了....毕竟我这么怕麻烦----- -------------------- ...

  9. java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  10. java程序计时器_求完整简单java计时器小程序代码,急!!

    放肆丶小侽人 回答时间:2019-12-05 向TA提问 import java.awt.Button; import java.awt.Color; import java.awt.FlowLayo ...

最新文章

  1. 动态规划中的多段图问题
  2. java 持续集成工具_Jenkins集成式项目控件下载
  3. android ne调试工具,Android调试工具adb的正确使用方式
  4. 终于有人把tomcat讲清楚了。
  5. SPRING IN ACTION 第4版笔记-第二章-001-用@Autowired\@ComponentScan、@Configuration、@Component实现自动装载bean...
  6. oracle 安装ora 27102,Oracle ora-27102 错误
  7. windows下MySQL 5.7+ 解压缩版安装配置方法
  8. 免费的响应式bootstrap管理员后台界面主题 - Charisma
  9. (3)Deep Learning之神经网络和反向传播算法
  10. 书籍-从Paxos到Zookeeper分布式一致性原理与实践
  11. 龙芯的JDK非常慢,准备分析一下
  12. sql2000海量存储过程(1500w数据,分页只需1秒)
  13. 终极算法:机器学习和人工智能如何重塑世界笔记
  14. android 半浮层框架
  15. 一文告诉你IT行业什么方向赚钱,需求多
  16. linux shell 脚本复制特定后缀文件到另外一个文件夹下
  17. 存储卡 SD/MMC/MS/CF/XD/SM/MICRO SD
  18. 十个经典的Android开源项目
  19. 我用最独特的方式为情人节准备了这些。。。
  20. 警告当当成错误 may be used uninitialized in this function [-Werror=maybe-uninitialized]

热门文章

  1. canvas 角度 弧度 换算
  2. Coder中的Templates
  3. 两台计算机怎样共享一台打印机共享文件夹,两台电脑如何共享一台打印机
  4. 初中数学课程与信息技术的整合
  5. 网易校招linux面试题,网易校招真题——下厨房
  6. blos硬盘启动台式计算机,戴尔台式机bios设置硬盘启动教程
  7. (原创)分享一下最近搞的tiny210V2从nand启动支持(K9GAG08U0F).
  8. php微信实现线下收银扫码枪扫码支付微信支付
  9. 一文掌握大数据架构师需要具备的能力和格局
  10. 女性黑客的崛起将造福世界