2016-04-15 1 views
1

Je suis super nouveau à la programmation et j'avais une question sur un quiz et la réponse de sortie était 36. Je ne comprends pas comment ce résultat est sorti de ce code.Méthodes qui retournent des valeurs Quiz

public class Method { 

    public static int method(int number) { 

     int result = 0; 
     while (number > 0) { 
      result += number % 10; 
      number = number/10;   
     } 
     return result; 
    }  

    public static void main (String[] args) { 
     System.out.println(method(9999)); 
    } 
} 
+1

Quelle a été votre réponse, et comment êtes-vous arrivé à elle? – Pointy

Répondre

1

clairement dans ce code la partie que nous devons examiner est la boucle while, c'est la zone d'intérêt parce qu'il est là que tout le calcul se produit.

while(number > 0){ 
    result += number % 10; 
    number = number/10; 
} 

Ainsi, la première ligne dans la boucle ajoutera une valeur au résultat:

result += number % 10; 

L'opérateur% en Java et beaucoup d'autres langues peut être considéré comme un reste de la division, donc nous ajoutons le reste de la division de 10 au résultat.

9999/10 = 999 reste 9.

Ainsi résultat a ajouté 9.

Nous appelons alors:

number = number/10; 

En Java lors de la division d'un entier, nous ne considérons pas le reste, donc 9999/10 = 999.

Et puis nous le répétons. Donc, essentiellement, nous additionnons les chiffres du nombre.

9 + 9 + 9 + 9 = 36.

0

Même si vous êtes nouveau à la programmation, vous pouvez essayer d'utiliser un IDE comme Eclipse. En utilisant un IDE, vous pouvez utiliser les points d'arrêt et suivre le code ligne par ligne et la ligne ligne par ligne. Donc, vous comprendrez ce qui se passe.

Vous pouvez créer une expression de surveillance qui affichera sur un onglet la variable ou utiliser l'inspection pour cela.

Une vidéo: https://www.youtube.com/watch?v=drk_ldaRMaY

+0

Merci !!! Je vous en suis reconnaissant. – StefR