【发布时间】:2019-01-27 08:30:26
【问题描述】:
没有找到其他类似的帖子,所以我不得不问。 打印任何东西都很容易......但是当您不允许使用迭代方法时,事情就会变得棘手。
我的问题是我在一个类中有两种方法。这个类有一个应该反向打印的字符串。使用迭代方法很简单,但是当 char 和 int 妨碍时,
我试图将整数的数量计算到字符串中的 char 的数量,然后使用其他方法获取相同的字符串和 int 的数量以反向打印出来。
注意:这两个方法需要使用 string 和 int 作为参数。
我做错了什么?
public class PrintRecursive {
private static int j;
public static void main(String[] args) {
String str = "Hello Everyone!";
print(str, 0);
System.out.println(); // Line break
printReverse(str, 0);
}
private static void printReverse(String str, int i) {
char ch = (char) i;
if (ch == ' ') {
} else
while (str.contains(str)) {
i += str.charAt(ch);
}
}
private static void print(String str, int i) {
while (str.equals(i)) {
System.out.println(str.charAt(j--));
}
}
}
结果:
大家好! !enoyrevE olleH
另外:请注意,我想我应该直接与方法对话,而不是我的“private int j”。
我的代码 atm 不是递归的!!!!!!!但我希望它是,但我无法找到这样做的方法。
【问题讨论】:
-
传入一个等于
String长度减一的int,然后当int大于等于0时,打印int处的char,然后递归传递减一整数 -
尝试创建递归方法
-
你从来没有将
j设置为任何东西 -
str.equals(i)将始终返回 false。您正在比较String和 int -
您的标题是 “递归打印”,但我看不到在您的代码中进行任何递归调用的尝试。你知道“递归”是什么意思,对吧?