Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 整数中的数字和_Java_Variables - Fatal编程技术网

Java 整数中的数字和

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

我是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)


使用调试器。或者用铅笔和纸你有没有试过手工计算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);