[英]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之间,因此只会使thirdNum
与secondNum
相同。
我怀疑你想要
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.