我需要编写一个Java void方法,在最后使用递归,在“计算”和“ting”的开头重复“comp”,n次。该方法中唯一的参数是int n。
输出示例:
n = 3 compcompcomputingtingting
n = 2 compcomputingting
n = 1 计算
当你每次只能传递n时,我不知道如何做到这一点。
答案 0 :(得分:0)
您需要在自身内部调用该函数。想想复发关系。只要n>0
你需要在减少n的情况下调用自身内部的函数。所以请致电f(3) f(2) f(1)
你是怎么做到的? f (n-1)
您的停止条件是n==0
然后您还需要打印一个u
并继续tingtingting
所以您的函数就像伪代码一样:
f(n):
if (n > 0)
print("comp");
f(n-1);
if (n = 0)
print("u");
- 不要期待完整的代码答案,因为这显然是一个功课问题。你可以添加ting ting ting部分,只需在脑中追踪它,发生了什么?
答案 1 :(得分:0)
我只知道如何做9次:
-> String s = "u"; for (int i = 0; i < 9; ++i) { s="comp" + s + "ting"; println (s); }
| Modified variable s of type String with initial value "u"
| Update overwrote variable s
computing
compcomputingting
compcompcomputingtingting
compcompcompcomputingtingtingting
compcompcompcompcomputingtingtingtingting
compcompcompcompcompcomputingtingtingtingtingting
compcompcompcompcompcompcomputingtingtingtingtingtingting
compcompcompcompcompcompcompcomputingtingtingtingtingtingtingting
compcompcompcompcompcompcompcompcomputingtingtingtingtingtingtingtingting
答案 2 :(得分:-1)
以下是您问题的答案!
public static void repeat(String beg, String mid, String end, int n) {
String result="";
for (int i=1; i<=n; i++) {
result=result+beg;
}
result=result+mid;
for (int i=1; i<=n; i++) {
result=result+end;
}
System.out.println(result);
}
我创建这个方法的原因是因为,如果你想再做一次这样的事情,你所要做的就是这样称呼它:
<强>输入:强>
repeat("comp", "u", "ting", 4);
<强>输出:强>
compcompcompcomputingtingtingting
<强>输入:强>
repeat("lama", "", "word", 3);
<强>输出:强>
lamalamalamawordwordword
现在,您可以将此用于任何姿势,并始终获得所需的输出......