商场推出幸运抽奖活动,抽奖规则如下:
(1)键盘录入四位数字(1000-9999的数字),作为顾客的会员卡号
(2)该会员卡号(键盘录入的四位数字)各位数字之和大于20,则为幸运客户
程序执行,在控制台输出效果:
请输入4位会员卡号:3569
会员卡号3569各位之和:23
会员卡号3569是幸运客户
请输入4位会员卡号:1234
会员卡号1234各位之和:10
会员卡号1234不是幸运客户
首先最重要的是要确定项目需求,只是说让输入1个4位数后返回和以及是否为幸运观众。就只用调Scanner方法就行,而不要想太多。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入4位会员卡号:");
int a=sc.nextInt();
System.out.print("会员卡号"+a+"各位之和:");
int num=a%10+a/10%10+a/100%10+a/1000;
System.out.println(num);
String b=(a%10+a/10%10+a/100%10+a/1000)>20?"是幸运观众":"不是幸运观众";
System.out.println("会员卡号"+a+b);
}
}
因为在工作中,敲代码前都是要明确项目需求,而不是自己觉得需求是什么,不然浪费时间精力还得不偿失。我看的时候又是想判断,又是循环2次的,大家做题还是工作,都要先明确目的需求,而不要自以为是。我这下面的代码就是错误的需求理解,感兴趣的卡伊看一下
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
for (int x=0;x<2;x++) {
System.out.print("请输入4位会员卡号:");
int a=sc.nextInt();
if (a >= 1000 && a <= 9999) {
System.out.print("会员卡号" + a + "各位之和:");
int num = a % 10 + a / 10 % 10 + a / 100 % 10 + a / 1000;
System.out.println(num);
String b = (a % 10 + a / 10 % 10 + a / 100 % 10 + a / 1000) > 20 ? "是幸运观众" : "不是幸运观众";
System.out.println("会员卡号" + a + b);
} else {
System.out.println("输错了请重新输入");
}
}
}
}