有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

算法当用户输入有字符串时如何调用方法?(爪哇)

标题是什么:我正在编写一个程序,它计算并显示数字中的数字总和(例如:3782 sum=20)

然而,我在将用于计算它的方法调用回主方法时遇到了问题——它给了我一个“java:notfind symbol”错误。 我需要使用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;
    }
}

共 (1) 个答案

  1. # 1 楼答案

    您从未定义过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)来调用它

    注意:您还需要定义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));