2017-09-28 2 views
-1

J'ai une question. J'essaie de faire une question de récursion sur 5 × 6 = 6 + 6 + 6 + 6 + 6 comme ceci par exemple. et j'ai de la difficulté à compiler.Méthode de récurrence en cours d'exécution

First Class est comme:

enter image description here

et la deuxième classe est aussi:

enter image description here toute aide que je vais apprécier.

Merci

+5

Sur une note côté, s'il vous plaît ne pas partager des captures d'écran de code, collez la section correspondante directement dans la question. – nullpointer

Répondre

2

La méthode calculator dans l'appel récursif devrait avoir la même signature que sa définition initiale. Vous pouvez modifier la ligne ne pas compiler comme

calculator(number2-1); 

à

calculator(number1, number2-1); 
+1

Oooh, d'accord Merci! – luk

0

deux problèmes que je peux voir dans votre programme,

1er est l'erreur de compilation que vous collé, est parce que vous êtes en passant un seul paramètre pour la méthode qui attend deux paramètres. pour résoudre ce changement

calculator(number2-1); 

à

calculator(number1, number2-1); 

2 vous avez comparé deuxième numéro avec 1, en raison de cette dernière valeur imprimée dans votre journal sera 24 au lieu de 30 lorsque que vos numéros sont 5, 6. au lieu de

number2>1 

utilisation

number2>0 
0
public class Assignment2{ 
public int calculator(int number1,int number2){ 
    //use math.power insted of recursive 
    return Math.pow(number2,number1); 
} 
} 
public class result{ 
public static void main(String [] args){ 
    Assignment2 assignment2 = new Assignment2(); 
    System.out.println(assignment2.calculator(5,6)); 
} 
}