京东集团软件开发工程师面试题含答案.docxVIP

  • 5
  • 0
  • 约4.93千字
  • 约 14页
  • 2026-02-08 发布于福建
  • 举报

京东集团软件开发工程师面试题含答案.docx

第PAGE页共NUMPAGES页

2026年京东集团软件开发工程师面试题含答案

一、编程语言与数据结构(共5题,每题10分,总分50分)

题目1(Java基础):

编写一段Java代码,实现一个方法`intcountDigits(intnum)`,统计一个整数`num`中出现的数字个数。例如,输入`12345`,返回`5`;输入`-6789`,返回`4`(负号不计)。要求考虑`num`为`0`或`Integer.MIN_VALUE`的情况。

答案与解析:

java

publicintcountDigits(intnum){

if(num==0)return1;

intcount=0;

num=Math.abs(num);//处理负数

while(num!=0){

count++;

num/=10;

}

returncount;

}

解析:

1.特殊情况处理:如果`num`为`0`,直接返回`1`;如果为`Integer.MIN_VALUE`(-2,147,483,648),需先取绝对值,但需注意`Math.abs(Integer.MIN_VALUE)`会溢出,此时可转为`long`类型处理。

2.循环统计:通过`num/=10`逐位移除数字,直到`num`为`0`,同时计数。

3.负数处理:使用`Math.a

文档评论(0)

1亿VIP精品文档

相关文档