ホームページ  >  に質問  >  本文

求大神帮助写一段java 验证箱号的代码

标准箱号构成基本概念: 标准集装箱箱号由11位编码组成,包括三个部分:
1、 第一部分由4位英文字母组成。
2、 第二部分由6位数字组成。
3、 第三部分为校验码(Check Digit)由前4位字母和6位数字经过校验规则运算得到,用于识别在校验时是否发生错误。即第11位数字。
根据校验规则箱号的每个字母和数字都有一个运算的对应值。箱号的前10位字母和数字的对应值从0到Z对应数值为0到38,11、22、33不能对11取模数,所以要除去。
4、第N位的箱号对应值再分别乘以2^(N-1) (N=1,2,3………..10) 例如:箱号为CBHU3202732的集装箱它的第1位代码为C, 它的代码值=代码的对应值×2^(1-1) =13x2^0=13×1=13。 类推第2位代码为B
它的代码值=代码的对应值×2^(2-1) =12×2^1=12x2=24 以此类推得到箱号前10位代码的代码值。 将前10位的代码值乘积累加后对11取模
箱号为CBHU3202732的集装箱前10位箱号的代码累加值=4061,取11的模后为2,就是这个箱号第11位的识别码的数值。
以此类推,就能得到校验码。
A=10 B=12 C=13 D=14 E=15 F=16 G=17 H=18 I=19 J=20 K=21 L=23 M=24 N=25 O=26 P=27 Q=28 R=29 S=30 T=31 U=32 V=34 W=35 X=36 Y=37 Z=38

PHP中文网PHP中文网2741日前387

全員に返信(1)返信します

  • ringa_lee

    ringa_lee2017-04-18 10:27:52

    似たような例を参考に書きましたが、改善点があれば専門家の方にご指摘いただければ幸いです

    リーリー

    返事
    0
  • キャンセル返事