Recursion 递归方法,返回从0到int递增1的数字之和
如果递归方法有问题,它应该输出递增1的数字之和,以获得在命令行参数中输入的任何值。如果这有点奇怪,很抱歉 例如,如果10被输入到args中,那么它应该输出55 这是我的代码,所讨论的方法是sumofNumberRecursion 递归方法,返回从0到int递增1的数字之和,recursion,methods,increment,Recursion,Methods,Increment,如果递归方法有问题,它应该输出递增1的数字之和,以获得在命令行参数中输入的任何值。如果这有点奇怪,很抱歉 例如,如果10被输入到args中,那么它应该输出55 这是我的代码,所讨论的方法是sumofNumber public class RecursionMethods { public static void main(String[] commandlineArguments) { if (commandlineArguments.length == 0) { System.ou
public class RecursionMethods {
public static void main(String[] commandlineArguments) {
if (commandlineArguments.length == 0) {
System.out.println("Please enter a least one commandline!");
}
else {
Integer number = new Integer(0); // initializes the number
try {
number = Integer.parseInt(commandlineArguments[0]);
} catch (NumberFormatException exception) { // NumberFormatException
System.out.println(exception + " is not a integer.");
System.exit(1); // ends the program
}
String asterisk = asterisks(number); // return address for asterisks
System.out.println(asterisk);
String reverse = reverses(number);
System.out.println(reverse);
String counting = count(number);
System.out.println(counting);
int sums = sumofNumbers(number);
System.out.println(sums);
}
}
public static String asterisks (Integer number) {
if (number == 0) {
return "";
} else {
return "*" + asterisks(number - 1);
}
}
public static String reverses (Integer number) {
if (number == 0) {
return "0";
}
return number + " " + reverses(number - 1);
}
public static String count (Integer number) {
if (number == 0) {
return "0";
}
return count(number - 1) + " " + number;
}
//here is where the recursion im having trouble with would go
public static int sumofNumbers (Integer number) {
if (number == 0) {
return 0;
}
return sum(
}
只需将数字添加到numbernumber-1的总和,如果数字为零,则返回:把每一个都写在一张纸上,看看它实际上是如何工作的。制作一张表格,并在每次函数调用时绘制出每个变量的值。@anu非常感谢您,多亏了您,我才算出来!干得好!很高兴你能自己搞定!