我是靠谱客的博主 贪玩黑夜,这篇文章主要介绍Java黑皮书课后题第4章:4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入题目代码,现在分享给大家,希望可以做个参考。

4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入

  • 题目
    • 题目概述
    • 编程练习题3.9全面分析博文
    • 3.9代码
    • 破题
  • 代码

题目

题目概述

4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入

编程练习题3.9全面分析博文

欢迎到我的3.9博文(点击这里直接跳转),或复制以下url到浏览器:

https://blog.csdn.net/weixin_46356698/article/details/119801361

3.9代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.Scanner; public class Test3_9 { public static void main(String[] args) { // 获取数据 Scanner input = new Scanner(System.in); System.out.println("Enter the first 9 digits of an ISBN as integer: "); int i = input.nextInt(); int temp = i; // 处理数据:赋值d1~d9 int d1 = i / 100000000; i %= 100000000; int d2 = i / 10000000; i %= 10000000; int d3 = i / 1000000; i %= 1000000; int d4 = i / 100000; i %= 100000; int d5 = i / 10000; i %= 10000; int d6 = i / 1000; i %= 1000; int d7 = i / 100; i %= 100; int d8 = i / 10; i %= 10; int d9 = i; System.out.println(d1+" "+d2+" "+d3+" "+d4+" "+d5+" "+d6+" "+d7+" "+d8+" "+d9); // 求d10 int d10 =(1 * d1 + 2 * d2 + 3 * d3 + 4 * d4 + 5 * d5 + 6 * d6 +7 * d7 + 8 * d8 + 9 * d9) % 11; // 输出 String str; if(d10 < 10) { str = "" + temp + d10; }else{ str = "" + temp + "X"; } System.out.println("The ISBN-10 number is " + str); } }

破题

  1. 依然正常从控制台获取用户输入,但以String类型接收
  2. 判断输入数据合法性(长度)
  3. 转为int型(String转int需要使用Integer.parseInt()方法)
  4. 继续原有方法(1~3仅代替3.9获取输入部分)

代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import java.util.Scanner; public class Test4_19 { public static void main(String[] args) { // 获取数据 Scanner input = new Scanner(System.in); System.out.println("Enter the first 9 digits of an ISBN as integer: "); String strInput = input.next(); // 判断输入数据合法性(长度) int length = strInput.length(); if(length != 9){ System.out.println("Invalid input"); System.exit(1); } // 转为int型 int i = Integer.parseInt(strInput); int temp = i; // 处理数据:赋值d1~d9 int d1 = i / 100000000; i %= 100000000; int d2 = i / 10000000; i %= 10000000; int d3 = i / 1000000; i %= 1000000; int d4 = i / 100000; i %= 100000; int d5 = i / 10000; i %= 10000; int d6 = i / 1000; i %= 1000; int d7 = i / 100; i %= 100; int d8 = i / 10; i %= 10; int d9 = i; // 求d10 int d10 =(1 * d1 + 2 * d2 + 3 * d3 + 4 * d4 + 5 * d5 + 6 * d6 +7 * d7 + 8 * d8 + 9 * d9) % 11; // 输出 String str; if(d10 < 10) { str = "" + temp + d10; }else{ str = "" + temp + "X"; } System.out.println("The ISBN-10 number is " + str); } }

最后

以上就是贪玩黑夜最近收集整理的关于Java黑皮书课后题第4章:4.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入题目代码的全部内容,更多相关Java黑皮书课后题第4章:4内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部