사용자 입력에 대한 문자열이있을 때 어떻게 메서드를 호출하는? (자바)

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));

추천

출처http://43.154.161.224:23101/article/api/json?id=341586&siteId=1