输入一个四位整数,判断是否中奖。中奖条件是,取四位整
数上的个位数、十位数、百位数和千位数,要求四个数字相加是
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("很遗憾,你没有中奖!");
}
}
}