最近项目需要计算零售商品条码的最后一位校验码,在网上没找到具体实现方式,于是自己写了一个。

感觉写的比较简单冗余,还有待改进之处,欢迎指出 相互学习~

/**

* 获取条码校验值

* 13位条码 code 示例:6901234567892

* 调用方法 int 值 = getChecksum(code);

* @return checksum

*/

public static Integer getChecksum(String code){

// char a= code.charAt(0);//取字符串中某一个字符

// int numa = Integer.parseInt(String.valueOf(a));//char转换为int

int checksum;

//校验步骤a

//也可以遍历判断获取偶数位的值的和

int checkA = Integer.parseInt(String.valueOf(code.charAt(1)))+Integer.parseInt(String.valueOf(code.charAt(3)))+

Integer.parseInt(String.valueOf(code.charAt(5)))+Integer.parseInt(String.valueOf(code.charAt(7)))+

Integer.parseInt(String.valueOf(code.charAt(9)))+Integer.parseInt(String.valueOf(code.charAt(11)));

//校验步骤b

int checkB = checkA * 3;

//校验步骤c

//也可以遍历判断获取奇数位的值的和

int checkC = Integer.parseInt(String.valueOf(code.charAt(0)))+Integer.parseInt(String.valueOf(code.charAt(2)))+

Integer.parseInt(String.valueOf(code.charAt(4)))+Integer.parseInt(String.valueOf(code.charAt(6)))+

Integer.parseInt(String.valueOf(code.charAt(8)))+Integer.parseInt(String.valueOf(code.charAt(10)));

//校验步骤d

int checkD =checkB+checkC;

//校验步骤e

if(checkD % 10 == 0){

checksum = 0;

}else{

checksum = 10 - checkD % 10;

}

return checksum;

}

java 条形码校验_java 实现条形码ENA-13校验码计算方法相关推荐

  1. java 条形码校验_Java 之 商品条形码的验证

    package For; import java.util.Scanner; public class forTest07 { /** * 计算条形码的第十三位数字 * 692116851128 * ...

  2. java条码大小_java – 自定义条形码输入中缺少条形码高度

    我正在整合FedEx运输API以使用 Java生成标签.一切都很好,但除了这个问题.在为FedEx Freight设置LabelFormatType到COMMON2D或LABEL_DATA_ONLY时 ...

  3. java射击游戏_Java Swing打猎射击游戏源码

    代码如下 package Game; import java.awt.Graphics; import java.awt.Image; import javax.swing.JPanel; publi ...

  4. java 录屏_java 录屏 小工具源码(idea)

    [实例简介]录制的视频保存在 java.io.tmpdir 目录,windows通常为 C:\Users\Administrator\AppData\Local\Temp [实例截图] 点击播放后,效 ...

  5. java线程池_Java 并发编程 线程池源码实战

    作者 | 马启航 杏仁后端工程师.「我头发还多,你们呢?」 一.概述 笔者在网上看了好多的关于线程池原理.源码分析相关的文章,但是说实话,没有一篇让我觉得读完之后豁然开朗,完完全全的明白线程池,要么写 ...

  6. java飞机场模拟程序_java 飞机大战 小游戏源码

    [实例简介] 本项目是一个使用java做的一个飞机大战的小游戏,一个英雄机,初始有三次生命,当打中蜜蜂会有一次生命奖励,当打中敌机会有相应分数奖励,但如果被敌机打中会失去一次生命机会.如果生命都失去, ...

  7. java开发愤怒的小鸟_Java实现愤怒的小鸟AngryBirds游戏源码

    [实例简介] Java实现愤怒的小鸟AngryBirds游戏源码,可以直接运行! [实例截图] [核心代码] Java实现愤怒的小鸟AngryBirds游戏源码下载 └── [www.java1234 ...

  8. java迭代器原理_Java迭代器的原理及源码解析

    Java中提供了很多集合类,这些集合类的数据结构不一样,因此在存储和遍历时的方式不一样.迭代器抽象出集合类的共有功能,提取判断功能和获取功能,得到接口,这个接口就是迭代器接口.在具体子类中实现迭代器接 ...

  9. java财务管理源代码_java 个人财务管理系统 入门级源码

    [实例简介]管理日常支出 [实例截图] [核心代码] @RequestMapping(value = "/recordselectBydate") public String se ...

  10. java生成md5校验码_如何用java获取ftp服务器上文件的md5校验码?

    package homework.dao; import java.security.*; public class getmd5 { //全局数组 private final static stri ...

最新文章

  1. 使用Boost的Serialization库序列化STL标准容器
  2. 【自然语言处理】正向、逆向、双向最长匹配算法的 切分效果与速度测评
  3. Android数据库 之 SQLite数据库
  4. 【刷算法】整数中1出现的次数(从1到n整数中1出现的次数)
  5. observeOn()与subscribeOn()的详解
  6. GET和POST提交乱码解决方案
  7. 实战:遇到HTM的文件图标丢失的问题
  8. 小学生眼里的飞鸽传书
  9. ShardingSphere 语句解析生成初探
  10. Gif表情包在线制作小程序
  11. 小米允许安装未知来源不用sim卡_视频能独立通话的小米手表,会像小米手机一样好用吗?...
  12. python + 夜神模拟器 + appium 小红书app数据抓取
  13. c#字符串的格式化输出
  14. npm查看依赖包报错:npm ERR! extraneous解决!!
  15. [转载] excel调用python编程-超简单:用Python让Excel飞起
  16. OpenDaylight系类教程(十二)-- Release Notes
  17. TS在vue中的应用
  18. ubuntu显示扩展名
  19. 数据库的设计的六个阶段
  20. 【JS】【掘金】看看你所有粉丝的掘友值排行榜

热门文章

  1. c语言 end while,C语言报错:error: expected ‘while’ at end of input } ^
  2. 买不起MacBook,使用Windows 10配置zsh命令行做开发
  3. hpe服务器中ilo的作用,产品技术-HPE iLO-新华三集团-H3C
  4. 阿里云 OSS + CDN 部署静态网站配置
  5. 定制化件T恤其实很简单,您需要了解的有以下几点
  6. 中国碳酸钾市场趋势报告、技术动态创新及市场预测
  7. kali2022.1 firefox developer (换成开发者版本火狐)
  8. 鸿蒙造化体内微粒,开辟鸿蒙,谁为情种?
  9. tkinter做界面的一点心得(丑而简单)
  10. 主播名字和热度的字符串该怎么写啊,他们两个量前面的字符一样