Java 整数中的数字和
我是Java新手,我正在努力对整数的各个数字求和。我相信我的问题在于我使用的公式来获得单个数字的值,但我希望从这里的杰出人士那里获得一些见解!请注意,这段代码在我使用的测试用例中工作,只有一个例外:整数234。这将返回总和为10的结果Java 整数中的数字和,java,variables,Java,Variables,我是Java新手,我正在努力对整数的各个数字求和。我相信我的问题在于我使用的公式来获得单个数字的值,但我希望从这里的杰出人士那里获得一些见解!请注意,这段代码在我使用的测试用例中工作,只有一个例外:整数234。这将返回总和为10的结果 import java.util.Scanner; public class Exercise2_6 { public static void main(String[] args) { Scanner input = new Scann
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)
使用调试器。或者用铅笔和纸你有没有试过手工计算234,看看你的算法哪里错了?和/或试着打印中间值。
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);