java - 了解方法。 Java代码

标签 java methods sum-of-digits

Write a method that computes the sum of the digits in an integer. Use the following method header: public static int sumDigits(long n)

Programming problem 5.2. Page 212.

请原谅我对编程的陌生。我很难理解和回答这个问题。这是我到目前为止所拥有的。请协助,如果您不介意,请解释我做错了什么。

import java.util.Scanner;

public class PP52v2 {

    public static void main(String [] args) {

    int sum = sumDigits(n);
    System.out.println("The sum is: " + sum);

    }//main

        public static int sumDigits(long n) {

            Scanner input = new Scanner(System.in);

            System.out.println("Enter your digits");
            n = input.nextLong();
            int num = (int)(n);
            int sum;


            while(num > 0) {

            sum += num % 10; //must mod - gives individual numbers
            num = num / 10; //must divide - gives new num

            }//loop
            return sum;
        }//sumDigits

}//class

最佳答案

基本上,您不应该在方法内部处理用户输入。您应该将用户输入传递到您的方法中。除此之外,一切看起来都很好。我在下面做了一些细微的更改:

import java.util.Scanner;

public class PP52v2 {

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

        System.out.println("Enter your digits");
        long n = input.nextLong();
        int sum = sumDigits(n);
        System.out.println("The sum is: " + sum);
    }// main

    public static int sumDigits(long n) {

        int num = (int) (n);
        int sum = 0;

        while (num > 0) {

            sum += num % 10; // must mod - gives individual numbers
            num = num / 10; // must divide - gives new num

        }// loop
        return sum;
    }// sumDigits

}// class

关于java - 了解方法。 Java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444957/

相关文章:

java - 尝试计算标准差时收到 0

戈朗 : Type assign with another struct

java - java中的方法问题

python - 如何优化和寻找大量输入的输出?

c# - 数组中的正整数总和为负数

java - 确保 GET/POST 请求上的 ObjectMapper 行为一致

java - 提交表单时出现 HtmlUnit StackOverflowError

java - 如何停止这个 java.lang.ArrayIndexOutOfBoundsException?

java - 尝试正确确定数字是否奇怪

Python程序找到连续数值的总和等于数字n?