ISBN-13 is a new standard for identifying books. It uses 13 digits d1d2d3d4d5d6d7d8d9d10d11d12d13. The last digit d13 is a checksum, which is calculated from the other digits using the following formula: 10 - (d1 + 3d2 + d3 + 3d4 + d5 + 3d6 + d7 + 3d8 + d9 + 3d10 + d11 + 3d12) % 10 If the checksum is 10, replace it with 0. Your program should read the input as a string. Display “invalid input” if the input is incorrect.

ISBN-13 is a new standard for identifying books. It uses 13 digits d1d2d3d4d5d6d7d8d9d10d11d12d13. The last digit d13 is a checksum, which is calculated from the other digits using the following formula:

10 - (d1 + 3d2 + d3 + 3d4 + d5 + 3d6 + d7 + 3d8 + d9 + 3d10 + d11 + 3d12) % 10

If the checksum is 10, replace it with 0. Your program should read the input as a string.

Display “invalid input” if the input is incorrect.

Program

import java.util.*;
public class Investment {
    public static void main(String args[]) {
     System.out.print("Enter the first 12 digits of an ISBN-13 as a string:");
     Scanner sc=new Scanner(System.in);
   String s = sc.next();
  int sum = 0;
    if (s.length() != 12)
    {
   System.out.println(s + " is an invalid input");
   System.exit(0);
  }

  for (int i = 0; i < s.length(); i++) 
  {
   if ((i + 1) % 2 == 0) 
     sum += 3 * (s.charAt(i) - '0');
    else 
    sum += s.charAt(i) - '0';
  }
    sum=sum%10;
    sum=10-sum;
    if(sum==10)
    s=s+"0";
    else
    s=s+sum;
   sum = (10 - sum%10)%10;
  
  System.out.println("The ISBN-13 number is " +s );
}

}


Result

Enter the first 12 digits of an ISBN-13 as a string: 978013213080
The ISBN-13 number is 9780132130806

No comments:

Post a Comment