我有这个问题,例如显示指定时间两倍的任何给定数字 如果我想要显示6次,它会相互显示4次 像这6666 使用递归我有一个代码,但它给了我一个堆栈溢出可能有人请帮助我这个递归的新手。
public static int i = 6;
public static int j = 2;
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
System.out.print(addToTarget(i, j));
}
public static int addToTarget(int n, int x){
int index = 0;
if (index !=j*2){
System.out.print(i);
index+=1;
return addToTarget(i,index);
}
return i;
}
答案 0 :(得分:0)
为什么你甚至需要递归呢。 请参阅问题1235179。 这会建议你像
public static int addToTarget(int n, int x){
return new String(new char[x]).replace("\0", String.valueOf(n));
}
静态变量和参数之间有多么混乱!
答案 1 :(得分:0)
你可以像这样使用递归。
public static int index = 0;
public static void main(String[] args) {
int i = 6;
int j = 2;
addToTarget(i, j);
}
public static void addToTarget(int i, int j){
if (index < j*2){
System.out.print(i);
index+=1;
addToTarget(i,j);
}
}