user12905328 :
제목이 말하는 : (: 3782 합계 = 20 예)는 다수의 숫자의 합을 계산하고 쇼 어디 프로그램을 쓰고 있어요.
"기호 찾을 수 없습니다 자바"오류가 나에게를 제공합니다 - 그러나, 나는이 문제를 내가 다시 main 메소드를 계산하는 데 사용되는 메소드를 호출하는 데 문제가 있습니다. 나는를 사용할 필요가 String
이것에 대한, 그리고 사용할 수 없습니다 int
내 값.
여기 내 코드는 :
public class digitSum {
//MAIN
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a whole number: ");
String num = input.nextLine();
//SUM METHOD CALL
// This is the method call I'm having trouble with.
printResult(numSum(sum));
}
//SUM METHOD
static void numSum(int i, String num, int sum) {
for (i = 0; i < num.length(); i++) {
char a = num.charAt(0);
char b = num.charAt(i);
sum = a + b;
}
System.out.println("The digit-sum of" +num+ " is: " +sum);
return;
}
}
안드로 :
당신은 정의 적이 sum
변수를 :
int sum = 0;
printResult(numSum(0, num, sum));
또는 더 나은 - 그것은 재귀 아니라면 함수에 누적 카운터를 전달하는 이유는 무엇입니까?
static void numSum(String num) {
int sum = 0;
for (int i = 0; i < num.length(); i++) {
char a = num.charAt(0);
char b = num.charAt(i);
sum = a + b;
}
System.out.println("The digit-sum of" +num+ " is: " +sum);
return;
}
그런 다음 단순히 호출하여 호출 numSum(num)
.
PS : 당신은 또한 한 필요 printResult
(- 여부를 정의 numSum
결과를 인쇄).
@chrylis -on strike- 발신자에 계산 결과를 인쇄하는 것이 더 나은 될 것이라고,주의 사항 :
static int numSum(String num) {
int sum = 0;
for (int i = 0; i < num.length(); i++) {
char a = num.charAt(0);
char b = num.charAt(i);
sum = a + b;
}
return sum;
}
그리고에 main
방법 :
System.out.println(numSum(num));