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