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

package For;

import java.util.Scanner;

public class forTest07 {

/**

* 计算条形码的第十三位数字

* 692116851128

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个12位数的数字");

String s = sc.next();

//2.判断字符串的长度是12位

//length() 去获得字符串的长度

if (s.length() != 12){

System.out.println("你输入的长度不对,请重新输入!");

return;

}

/*

* 第一步:取出该数的奇数位的和:

* 第二步:取出该数的偶数位的和:

* */

int c1=0;//奇数位的和

int c2=0;//偶数位的和

//i=0,2,4,6,8,10 奇数位的值

// i+1 1,3,5,7,9,11

//取奇数、偶数

for (int i=0; i < s.length(); i+=2){

//奇数位值

char c = s.charAt(i);

//奇数位的和

c1 = c1+c-48;

//偶数位的值

char c3 = s.charAt(i+1);

//偶数位的和

c2 = c2+c3-48;

}

//计算奇数位值的和

int cc = c1+c2*3; //110

//去结果的个位数

cc %= 10;

//用十减去这个个位数

cc=10-cc;

cc=cc%10;

System.out.println("第13位验证码为"+ s + cc);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值