ISBN-13 is a new standard for identifying books. It uses 13 digits d1d2d3d4d5d6d7d8d9d10d1 1d12d13. 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.
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