数组练习-

如下例业务是,计算条码验证,描述如下: 题目:en-13 条码验证计算 验证码条码共 13 位,

代表了一件商品编码,前 12 位(692116851128)有具体代表含义,第 13 位是通过如下步骤算出来的:
第 1 步:取出该数的奇数位和,c1 = 6 + 2 + 1 + 8 + 1 + 2 = 20
第 2 步:取出该数的偶数位和,c2 = 9 + 1 + 6 + 5 + 1 + 8 = 30
第 3 步:将"奇数和"和"偶数和的三倍"相加,cc = c1+c2*3 = 20 + 30 * 3 = 110
第 4 步:取结果的个位数(对 10 取余):110 的个位数为(110%10=0)
第 5 步:用 10 减去这个个位数:10 - 0 = 10
第 6 步:对得到的数再取个位数(对 10 取余):10%10=0
所以校验码为 0`

int oddNum=0;
		int evenNum=0;
		int summ=0;
		int yu=0;
		int yu2=0;
		String str="692116851128"; 
	//String本身就是一个数组
		for(int i=0;i<str.length();i++) {
			if(i%2==0) {//下标是偶
				char charAt2=str.charAt(i);//charAt返回所选数组的下标的值
				oddNum+=charAt2-48;
			}else {//下标是奇数
				char charAt2=str.charAt(i);
				evenNum+=charAt2-48;
			}
			
		}
		System.out.println("偶数和:"+evenNum);
		System.out.println("奇数和:"+oddNum);
		summ=oddNum+evenNum*3;
		System.out.println("加"+summ);
		yu=summ%10;
		System.out.println("取余"+yu);
		yu=10-yu;
		yu2=yu%10;
		System.out.println("效验码为:"+yu2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值