ユーザー入力のための文字列があるときメソッドを呼び出す方法?(Javaの)

user12905328:

タイトルは言う:(:3782合計= 20例)、それは数の桁の合計を計算して示し、ここで私はプログラムを書いています。

「:シンボル見つけることができないのjava」というエラーがそれは私に与えます-しかし、私は戻って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=341589&siteId=1