首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给你一个两位数的整数n,返回它的数字之和.对于n= 29,输出应该是addTwoDigits(n) = 11

问给你一个两位数的整数n,返回它的数字之和.对于n= 29,输出应该是addTwoDigits(n) = 11
EN

Stack Overflow用户
提问于 2017-01-13 04:56:36
回答 11查看 24.6K关注 0票数 2

更多信息:

输入/输出详情:

时间限制4000 js (js)

输入整数n

正的两位数整数。

约束:10≤n≤99。

输出整数

输入号码的第一位和第二位的总和。

以下是我的尝试

代码语言:javascript
复制
function addTwoDigits(n) {

var num = n;
var n = num.toString();
var sum = n[0] + n[1];
return sum;
}

var userInput= prompt('enter a number');

if (userInput>= 10 && userInput<=99) {

return addTwoDigits(userInput);

} 

console.log(addTwoDigits(n));
EN

回答 11

Stack Overflow用户

发布于 2021-07-01 02:56:15

代码语言:javascript
复制
function addTwoDigits (input){

    var numString = input.toString()
    var numArray = numString.split('')
    var digitOne = []
    var digitTwo = []


    for (var i = 0; i < numArray.length; i++){
      digitOne.push(numArray[0])
      digitTwo.push(numArray[1])
    }
    for (var i = 0; i < digitOne.length; i++){
      digitOne.pop()
    }
    for (var i = 0; i < digitTwo.length; i++){
      digitTwo.pop()
    }

    var numOne = parseInt(digitOne)
    var numTwo = parseInt(digitTwo)
    var sum = numOne + numTwo
    return sum;
}
票数 3
EN

Stack Overflow用户

发布于 2017-01-13 05:02:30

n[0]和n[1]是字符串。+只是两个数字的加法,但在任何其他情况下都是串联的,所以"2" + "9"回到了"29",而不是您希望的11。使用parseInt(n[0]) (与n[1]类似)将它们转换为您可以使用的算术工具。

或者,您可以进行纯粹的数字处理,而不需要碰触字符串:

代码语言:javascript
复制
var tens = Math.floor(n / 10);
var ones = n % 10;
var sum = tens + ones;
票数 2
EN

Stack Overflow用户

发布于 2021-11-09 10:41:51

这是我在Java中的答案。

代码语言:javascript
复制
int addTwoDigits(int n) {
  String number = String.valueOf(n);
  int[] nums = new int [number.length()];


  for(int i = 0; i < number.length(); i++){
    nums[i] = Character.getNumericValue(number.charAt(i));
  }

  return nums[0] + nums[1];
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41627634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档