algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

UPC-A - Implementacja w Java
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 28 sierpnia 2007 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

UPC_A_Validator.java:
/**
 * @author Tomasz Lubinski
 * www.algorym.org
 * (c) 2007
 *
 * Class for UPC-A validating
 */

public class UPC_A_Validator {

	private byte UPC_A[] = new byte[12];
	private boolean valid = false;
	private String Systems[] =  {
	        "zwykły kod UPC", "zarezerwowany", "waga prduktów ważonych w sklepie",
	        "lekarstwa", "artykuł nie będący żywnością", "kupony", "zarezerwowany",
	        "zwykły kod UPC", "zarezerwowany", "zarezerwowany" };
	
	public boolean isValid() {
		return valid;
	}
	
	public UPC_A_Validator(String UPCANumber) {
		if (UPCANumber.length() != 12) {
			valid = false;
		}
		else {
			for (int i = 0; i < 12; i++){
				UPC_A[i] = Byte.parseByte(UPCANumber.substring(i, i+1));
			}
			if (checkSum()) {
				valid = true;
			}
			else {
				valid = false;	
			}
		}
	}
	
	private boolean checkSum() {
		int sum = 3 * UPC_A[0] +
				  1 * UPC_A[1] +
				  3 * UPC_A[2] +
				  1 * UPC_A[3] +
				  3 * UPC_A[4] +
				  1 * UPC_A[5] +
				  3 * UPC_A[6] +
				  1 * UPC_A[7] +
				  3 * UPC_A[8] +
				  1 * UPC_A[9] +
				  3 * UPC_A[10];
		
        sum %= 10;
        sum = 10 - sum;
        sum %= 10;
        
		if (sum == UPC_A[11]) {
			return true;
		}
		else {
			return false;
		}
	}
	
	public String getSystem() {
		return Systems[UPC_A[0]];
	}
	
}
Dodaj komentarz