我正在处理一个递归方法,该方法将返回并在我的main方法中打印一个字符串,该字符串将向下计数为N.为字符串的每个递归删除一个字母。直到N变为1或直到字符串有1个字母。 (N是命令行上的int)
例如,如果我的命令行aruments 是:5 valentine
它也应输出:
5情人节,4意大利,3 lentine,2 entine,1 ntine,
到目前为止,我设法倒计数命令行参数上输入的数字。我只是不知道如何删除字符串中的一个字母? :○
到目前为止我的代码:
public static void main(String[] args){
int number = Integer.parseInt(args[0]);
String word = new String("");
word = args[1];
String method = recursive.method1(number);
System.out.println(method);
}
public static String method1(int number){
if (number < 0){
return "";
}
else{
return number + ", " + method1(number - 1);
}
}
答案 0 :(得分:3)
您可以阅读subString()
文档,了解如何获取字符串的部分内容。
word
word
添加到您的return
语句中:return number + " " + word +...
1st
索引<=0
而不是<0
代码:
public static void main(String[] args){
int number = 5;
String word = new String("");
word = "Valentine";
String method = Recurcive.method1(number, word);
System.out.println(method);
}
public static String method1(int number, String word){
if (number <= 0){
return "";
}
else{
return number + " " + word + ", " + method1(number - 1, word.substring(1));
}
}
给出,
5 Valentine, 4 alentine, 3 lentine, 2 entine, 1 ntine,