ISBN-10由十个个体整数d1,d2,d3,d4,d5,d6,d7,d8,d9,d10
最后一位是前面的校验和,它是通过下面的公式算出来的
d11+d22+d33+d44+d55+d66+d77+d88+d9*9)%11如果校验和为10,那么按照ISBN-10的习惯,最后一位应该为X,读取一个整数输入,按照提示输入前九个数
package Test02;
/*
* ISBN-10由十个个体整数d1,d2,d3,d4,d5,d6,d7,d8,d9,d10
* 最后一位是前面的校验和,它是通过下面的公式算出来的
* (d1*1+d2*2+d3*3+d4*4+d5*5+d6*6+d7*7+d8*8+d9*9)%11
* 如果校验和为10,那么按照ISBN-10的习惯,最后一位应该为X,
*
* 读取一个整数输入,按照提示输入前九个数
*/
import java.util.Scanner;
public class ISBN_10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int sum = 0;
int arry[] = new int[9];
System.out.println("Enter the first 9 digits of an ISBN as integer :");
for (int i = 0; i < 9; i++) {
arry[i] = sc.nextInt();
sum = sum + arry[i] * (i + 1);
}
sum = sum % 11;
for (int i = 0; i < 9; i++) {
System.out.print(arry[i]);
}
if (sum == 10)
System.out.println("X");
else
System.out.println(sum);
}
}