[Java源码]键盘输入会员卡号,对其格式、位数进行判断,不符合规则会跳转重新输入

来源:互联网 发布:做个电脑编程要多少钱 编辑:程序博客网 时间:2024/05/16 07:24

4位数的会员卡号,活动期间,4位数字求平均值为5,则商品免费

-----------------------背景-------------------------------分割线---------------------------------------------------

下面一段源码包含几个功能:

1、扫描器声明,并指定键盘输入

2、对键盘输入的内容,进行格式判断:只允许输入数字,否则跳转重新输入

3、进行位数判断,只允许4位,否则跳转重新输入

4、对卡号,分割求平均值

源码如下:

import java.util.Scanner;/** * 输入4位会员卡号 * 每位数字相加,然后取平均值,5则中奖 * @author wanglp */public class DataInput {/** * @param args */public static void main(String[] args) {/** * 会员卡号,整型类型 */int icardNo = 0;/** * 会员卡号,字符串类型 */String scardNo = null;/** * 会员卡号第1位数字 */int no1;/** * 会员卡号第2位数字 */int no2;/** * 会员卡号第3位数字 */int no3;/** * 会员卡号第4位数字 */int no4;/** * 4位数平均值 */double avg;System.out.print("请输入您的会员卡号:");do {/** * 声明扫描器类型 */Scanner input = new Scanner(System.in);try {/** * 指定键盘输入,指定字符串变量 */scardNo = input.next();icardNo = Integer.parseInt(scardNo);} catch (Exception e) {System.out.print("输入的格式不正确,请重新输入4位数字:");continue;}if(scardNo.length()!= 4) {System.out.print("输入的位数不正确,请重新输入4位数字:");continue;}else {break;}}while(true);no4 = icardNo%10;no3 = icardNo/10%10;no2 = icardNo/100%10;no1 = icardNo/1000;    avg = (no1 + no2 + no3 + no4)/4;if(avg == 5) {System.out.println("恭喜你!本次免费!");}else {System.out.println("很遗憾,只能全额支付咯...");}}}