我是靠谱客的博主 贪玩黑夜,最近开发中收集的这篇文章主要介绍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代码
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);
}
}
破题
- 依然正常从控制台获取用户输入,但以String类型接收
- 判断输入数据合法性(长度)
- 转为int型(String转int需要使用Integer.parseInt()方法)
- 继续原有方法(1~3仅代替3.9获取输入部分)
代码
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.19(商业:检测ISBN-10)改写编程练习题3.9,将ISBN号作为一个字符串输入题目代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复