四位整数中奖条件倍数的反映

输入一个四位整数,判断是否中奖。中奖条件是,取四位整
数上的个位数、十位数、百位数和千位数,要求四个数字相加是
8的倍数,同时每个数字不能是8

思路比较简单:
首先,使用Scanner类的nextiInt()获取一个整数输入;

然后分解个十百千数位上的数字,并对其求和;

最后用求余%运算符判断个十百千数位上的数字和是否是8的倍数,同时个十百千是否是8,如果条件都满足,就打印中奖了,如果不是则提示没中奖。

代码如下:

import java.util.Scanner;

public class WinPrizeTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int num;
        System.out.println("请输入一个四位数:");
        Scanner sc  = new Scanner(System.in);
        num = sc.nextInt(); //获取一个整数输入
        
        //判断这个数是否是四位数
        if(num<1000||num>9999) {
            System.out.println("请输入一个四位数!");
            return ;
        }
        
        int one = num%10;  //分解个位
        int ten = num/10%10;  //分解十位
        int hundred = num/100%10;  //分解百位
        int thousand= num/1000;  //分解千位
        
        int sum = one +ten+hundred+thousand; //个位+十位+百位+千位数字的和
        
        //如果个十百千数位上数字和是8的倍数,同时个十百千都不是8,则提示中奖了,否则提示没中奖
        if(sum%8==0 && one!=8&& ten!=8&&thousand!=8) {
            System.out.println("恭喜你,中奖了!");
        }else {
            System.out.println("很遗憾,你没有中奖!");
        }
        
    }

}

img