忍者ブログ
Flex,Java,Html など、調べた事のメモ帳です。 間違ってたらゴメンなさい。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

JAN8 は 7 桁の文字列から JAN13 は 12 桁の文字列からそれぞれ Check Digit を作成します。
コード
 
public static String makeCheckDigit(String barcode) {
    int initPosition1 = 0;
    int initPosition2 = 0;
    if (barcode.length() == 12) {
        initPosition1 = 1;
        initPosition2 = 0;
    } else if (barcode.length() == 7) {
        initPosition1 = 0;
        initPosition2 = 1;
    } else {
        throw new IllegalArgumentException(
                "長さが不正です。[" + barcode + "]");
    }
    int sum = 0;
    for (int i = initPosition1; i < barcode.length(); i += 2) {
        sum += Integer.parseInt(barcode.substring(i, i + 1));
    }
 
    sum *= 3;
    for (int i = initPosition2; i < barcode.length(); i += 2) {
        sum += Integer.parseInt(barcode.substring(i, i + 1));
    }
    String placeOfOne = String.valueOf(sum).substring(
        String.valueOf(sum).length() - 1);
    if (placeOfOne.equals("0")) {
        return placeOfOne;
    } else {
        return String.valueOf(10 - Integer.parseInt(placeOfOne));
    }
}

この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
ブログランキング
にほんブログ村 IT技術ブログ IT技術メモへ
 
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
人気ブログランキング
ブログランキング ブログランキング
最新TB
ブログ内検索
PR
ATOM  
ATOM 
RSS  
RSS 
Copyright ©   プログラムメモ   All Rights Reserved
Design by MMIT  Powered by NINJA TOOLS
忍者ブログ [PR]