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/