2016-11-01 8 views
0

У меня есть этот вопрос, чтобы отобразить любое заданное число в два раза по указанному времени, например , если я хочу отобразить 6 два раза, это будет отображаться 4 раза рядом друг с другом вот так 6666 с использованием рекурсии У меня есть код, но он дает мне переполнение стека, может кто-то, пожалуйста, помогите, я новичок в этой рекурсии.отображение строки целых чисел в java

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

Зачем вам нужна рекурсия для этого. См. Вопрос 1235179. Который предложит вам что-то вроде

public static int addToTarget(int n, int x){ 
return new String(new char[x]).replace("\0", String.valueOf(n)); 
} 

И что беспорядок у вас есть между статическими переменными и параметрами!

+0

да, это грязный лол ... и большое спасибо за вашу помощь – yousef

Смежные вопросы