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("很遗憾,只能全额支付咯...");
}
}
}