In: Computer Science
***This is done with Java programming***
Write a well-documented (commented) program, “ISBN,” that takes a 9-digit integer as a command-line argument, computes the checksum, and prints the ISBN number.
You should use Java’s String data type to implement it. The International Standard Book Number (ISBN) is a 10-digit code that uniquely specifies a book. The rightmost digit is a checksum digit that can be uniquely determined from the other 9 digits, from the condition that d1 + 2d2 +3d3 + ... + 10d10 must be a multiple of 11 (here di denotes the ith digit from the right).
The checksum digit d1 can be any value from 0 to 10. The ISBN convention is to use the character X to denote 10. The checksum digit corresponding to 032149805 is 4 since 4 is the only value of x between 0 and 10 (both inclusive), for which 10·0 + 9·3 + 8·2 + 7·1 + 6·4 + 5·9 +4·8 +3·0 + 2·5 + 1·x is a multiple of 11.
Sample runs would be as follows.
>java ISBN 013376940
The ISBN number would be 0133769402
>java ISBN 013380780
The ISBN number would be 0133807800
***This is done with Java programming***
public class ISBN1 { public static void main(String[] args) { if(args.length==1){ //Initializing count to 1 int count = 0; // Reading input String s = args[0]; //looping through each digit of the input for(int i = 1;i<10;i++){ //Counting dx*x for digit dx count += (i*(s.charAt(i-1)-'0')); } // Calculating the reminder count = count % 11; // If count is less than 10 then appending reminder at the end if(count<10){ s += count; } // If count is greater than or equals to 10 then appending X at the end else{ s += "X"; } // Printing the final value of s System.out.println("The ISBN number would be "+s); } } }