DeityDawnLIN 2021-10-04 12:43 采纳率: 81.8%
浏览 146
已结题

Java程序设计找幸运数 求解

【问题描述】

一组数中包含数字 8 最多的那个数是幸运数。输入 n 和 n 个整数,找出这 n 个数中的幸运数。如果输入的数中有多个幸运数,只输出第一个幸运数,如果所有数都不包含数字 8,则输出 "No"。要求编写方法 int ndigit(int num, int digit) 用来计算某个整数 num 中包含的数字 digit 的个数,在主函数 main 中调用 ndigit 方法来计算用户输入数据中包含的数字 8 的个数。
【输入形式】

通过键盘输入 n 及 n 个整数。

【输出形式】

在控制台打印找到的第一个幸运数,如果没有找到幸运数,打印 "No"。

【样例输入】

5 45 853 4285 888 8088
【样例输出】

888
【样例说明】
输入 5 个整数:45 853 4285 888 8088,找到两个幸运数:888 和 8088,程序输出第一个幸运数 888。

  • 写回答

1条回答 默认 最新

  • 关注
    
    import java.util.Scanner;
    
     class Main {
        
        static int ndigit(int n, int k){
            int count = 0;
            while(n > 0){
                int one = n % 10;
                if (one == k){
                    count++;
                }
                n /= 10;
            }
            return count;
        }
    
            public static void main(String[] args) {
            Scanner kb = new Scanner(System.in);
            int t = kb.nextInt();
            int max = 0;
            int show = 0;
            while(t > 0){
                int num = kb.nextInt();
                if(ndigit(num, 8) > max){
                    max = ndigit(num, 8);
                    show = num;
                }
                t--;
            }  
            
            if(max == 0){
                System.out.println("NO");
            }else{
                System.out.println(show);
            }
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月4日
  • 创建了问题 10月4日

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化