☞题目要求
☞实现代码的思路分析
1、获取键盘输入
2、用获取到的会员卡号除以1000,得到千位
3、用获取到的会员卡号除之后100再除以10取余得百位
4、用获取到的会员卡除以10之后,再除以10取余得十位
5、用会员卡除10取余
6、计算各位会员之和
7、判断各位会员号码之和是否大于20,如果大于20就判定中奖
☞代码内容
package lianxi; import java.util.Scanner; /** * * 功能描述: *输入一个四位卡号,控制台计算会员卡号的各位数,并计算各位之和;并根据分解后的数字只和,判断是否中奖。如果数字只和大于20,则中奖 * * @Author: apple. * @Date: 2019/7/9 10:08 AM */ public class LianXi03 { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { //用户输入一个四位卡号 System.out.println("请输入一个四位卡号"); int num = sc.nextInt(); System.out.println("会员卡号是:"+num); //分解各位数的数字 int qianwei = num/1000;//千位 int baiwei = num/100%10;//百位 int shiwei = num/10%10;//十位 int gewei = num%10;//个位 System.out.println("千位数:"+qianwei+",百位数:"+baiwei+",十位数:"+shiwei+",个位数"+gewei);//输出各个位数 //计算各位数之和; int sum = (qianwei)+(baiwei)+(shiwei)+(gewei); System.out.println("各位数之和是:"+sum); //判断是否中奖,如果数字只和大于20,则中奖; if (sum>20){ System.out.println("会员卡号"+num+"的会员,您中奖了!奖品是mp3!"); }else { System.out.println("会员卡号"+num+"的会员,您没有中奖"); } } }
☞运行结果
中奖:
未中奖:
☞写代码过程中的问题点
- 代码不太熟悉;改进方法:多敲多练习。
- 思路不太清晰;改进方法:多练习,不懂就问。
- 对于分解各位数使用“/”“%”算数运算符,不太会算,每次都输出运行好几次看结果。 改进方法:循序渐进