繁体   English   中英

整数总和

[英]Sum digits in an integer

我是Java的新手,我正在努力求和整数的单个数字。 我相信我的问题在于我用来获取各个数字的值的公式,但是我希望从这里的聪明人那里获得一些见识! 请注意,此代码可在我用过的测试用例中使用,但有一个例外:整数234。这将返回总和的结果10。

import java.util.Scanner;

public class Exercise2_6 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter an integer between 0 and 1000: ");

        int x = input.nextInt();
        int firstNum = x / 100;
        int secondNum = x % 10;
        int thirdNum = secondNum  % 10;
        int fourthNumber = x / 10;
        int sum = firstNum + secondNum + thirdNum;

        System.out.println("The sum of all digits in " + x +" is " + sum);



    }}

由于您将值分配给int,因此计算将为

234 / 100 = 2 , 
234 % 10 = 4, 
4 % 10 = 4,

总共10个

一个问题是

int thirdNum = secondNum  % 10;

由于secondNum已经在0到9之间,因此只会使thirdNumsecondNum相同。

我怀疑你想要

int secondNum = x % 100 / 10;
int thirdNum = x % 10;

这是为了使其更通用(超过1000个)

Scanner input = new Scanner(System.in);
System.out.println("Enter a number:");
int num = input.nextInt();
int sum = 0;
while (num>0) {
    sum += num % 10;
    num = num / 10;
}
System.out.println("sum="+sum);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM