幸运抽奖活动,如果输入的会员卡号各个数和为20,则这个会员是幸运用户

有两种方法可以求解

  1. 使用数组进行求解
  2. 使用运算符进行求解

1、使用数组进行求解
使用Scanner类获取输入的值,将其转化为字符串数组,然后将这个字符串数组转换成数值数组,进行求和!
核心代码如下:

 boolean isWin ;
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入一个整数:");
        String num = scanner.nextInt()+"";    // 输入整数,转为字符串
        String[] nums = new String [num.length()];
        for (int i = 0; i < num.length(); i++) {
    
    
            nums[i] = num.charAt(i)+"";  // 将输入的整数转化为字符串数组
        }
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
    
    
            sum += Integer.parseInt(nums[i]);    // 将数组内的字符串强转为整数,然后再相加。
        }
        if (sum == 20)
        {
    
    
            isWin = true;
        }
        else
        {
    
    
            isWin = false;
        }

        System.out.println("会员卡号"+num+"各位之和:"+sum);
        System.out.println("是幸运用户嘛?"+isWin);

2、使用运算符进行求解

boolean isWin;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的会员卡号:");
        int num = scanner.nextInt();

//        因为已经知道了会员卡号为四位数,所以我们可以使用运算符去对他们进行分解,一一求出各个位上的数字
        int gewei = num % 10;
        int shiwei = num % 100 /10;
        int baiwei = num % 1000 /100;
        int qianwei = num / 1000;

        int sum = gewei + shiwei + baiwei + qianwei;

        if (sum == 20)
        {
    
    
            isWin = true;
        }
        else
        {
    
    
            isWin = false;
        }
        System.out.println("会员卡号"+num+"的和为:"+sum);
        System.out.println("是幸运用户?"+isWin);

猜你喜欢

转载自blog.csdn.net/heart_is_broken/article/details/120804878
今日推荐