• API
• FAQ
• Tools
• Archive
SHARE
TWEET # Untitled a guest Mar 22nd, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. /*
2. This program takes 11 digits of a UPC(Universal Product Code) number and generates the 12th.
3. A UPC number is the number under the barcode on products in some countries,
4. not all countries use this number.
5. */
6.
7. public class UPC {
8.     public static void main(String[] args){
9.         System.out.println(findValidUPC("1234567"));
10.     }
11.     private static int[] turnIntoValidUPC(String UPCString){
12.         int expectedUPCLength = 11;
13.         int[] UPCArray = new int[expectedUPCLength];
14.         int UPCLength = UPCString.length();
15.
16.         //If the UPC is shorter than the expected 11 digits, put zeroes in front of the UPC until
17.         //it is 11 digits long
18.         int counter = 0;
19.         while(UPCLength < expectedUPCLength){
20.             UPCArray[counter] = 0;
21.             UPCLength++;
22.             counter++;
23.         }
24.
25.         //After putting the zeroes in front, copy the rest of the UPC into the array
26.         int stringCounter = 0;
27.         while(counter != expectedUPCLength){
28.             int currentNumber = Integer.parseInt(UPCString.charAt(stringCounter) + "");
29.             UPCArray[counter] = currentNumber;
30.             stringCounter++;
31.             counter++;
32.         }
33.         return UPCArray;
34.     }
35.     private static int findValidUPC(String UPCString){
36.         int[] UPCArray = turnIntoValidUPC(UPCString);
37.         int sumOfOddPlaces = 0;
38.         int sumOfEvenPlaces = 0;
39.
40.         //Loop through the UPC array and add the even and odd spots together
41.         for(int counter = 0; counter < 11; counter++){
42.             if(counter % 2 == 0){
43.                 sumOfOddPlaces += UPCArray[counter];
44.             }
45.             else{
46.                 sumOfEvenPlaces += UPCArray[counter];
47.             }
48.         }
49.         //Math to calculate the last digit
50.         int lastUPCDigit = sumOfOddPlaces * 3 + sumOfEvenPlaces;
51.         lastUPCDigit = lastUPCDigit % 10;
52.         if(lastUPCDigit == 0){
53.             return 0;
54.         }
55.         return 10 - lastUPCDigit;
56.     }
57. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top