Java 我的代码中有错误,但我不确定是什么?
我试图打印用户输入的数字的总和, 我的代码出了什么问题?在我看来,S.O.P.中的金额有下划线。。 但为什么呢?我怎样才能修好它Java 我的代码中有错误,但我不确定是什么?,java,Java,我试图打印用户输入的数字的总和, 我的代码出了什么问题?在我看来,S.O.P.中的金额有下划线。。 但为什么呢?我怎样才能修好它 package assignment7; import java.util.Scanner; public class Assignment7_4_5 { public static void main(String[] args) { Scanner input= new Scanner (System.in); Syst
package assignment7;
import java.util.Scanner;
public class Assignment7_4_5 {
public static void main(String[] args) {
Scanner input= new Scanner (System.in);
System.out.print("Enter a number: ");
int number=input.nextInt();
System.out.println("sum: "+sumDigits (sum));
}
public static int sumDigits(int sum) {
int number = 0;
while (number > 0) {
sum = sum + number % 10;
number = number / 10;
}
return sum;
}
}
您需要将sumDigitssum更改为sumDigitsnumber,因为number是传递给方法的变量,在使用方法sumDigits之前,甚至不会声明变量sum。同样在函数中,while循环将永远不会执行,因为number被设置为零,并且条件为number>0,这永远不会为真。您的求和和和编号方法是错误的。您需要传入数字,因为这是您从用户处获得的数字。Sum需要初始化为0(以sumdights表示),而不是数字。然后你们将总和加和除以数字,完成后返回总和。你也不会跳过while循环
package assignment7;
import java.util.Scanner;
public class Assignment7_4_5 {
public static void main(String[] args) {
Scanner input= new Scanner (System.in);
System.out.print("Enter a number: ");
int number=input.nextInt();
System.out.println("sum: "+sumDigits (number));
}
public static int sumDigits(int number) {
int sum = 0;
while (number > 0) {
sum = sum + number % 10;
number = number / 10;
}
return sum;
}
}
数字应该在参数中,总和应该是本地变量您是否尝试编译代码?你得到了什么?这段代码甚至无法编译。您应该将读取的数字作为输入传递到helper函数sumdights中。顺便说一句,我很喜欢萨姆迪。只需修复main,它就会工作。不确定sumdights-您将number初始化为0,然后在大于0时运行循环。那个循环根本不会运行。编辑:是的,你的求和和和数字的方法是错误的。您应该传递数字,并将sum初始化为0-这是第一条注释所说的,您可能需要重新学习一些Java基础知识。在main方法中定义一个名为number的局部变量。这是您要在其上运行的号码。该方法需要一个int参数。它将在方法内部调用此参数sum。所以,要在number上运行sumdights,需要将其作为参数传递到方法中:sumDigitsnumber。在方法内部,这个参数由sum名称引用。