2010-11-15 4 views
2

Je ne comprends pas ce code peut vous me expliquerProblème de compréhension du code Java?

grid est un int[][] distbest est initialisés

double distbest 
int turn = 60; 
if (g > 1) 
    this.grid = turn(distbest * turn).grid; 
else 
    this.grid = turn(-distbest * turn).grid; 
+2

Qu'est-ce que vous ne comprenez pas? – jjnguy

+0

Avec quel problème avez-vous de la difficulté? Ouais, nous pourrions juste expliquer en détail ce que fait tout ce petit code de base - mais si vous en avez besoin, vous ne devriez pas demander à SO, mais plutôt apprendre les bases de la programmation. – delnan

+0

tour semble être une méthode ici. Pouvez-vous le trouver dans votre source? –

Répondre

0

Cette section:

turn(distbest * turn) 

signifie qu'il y a une fonction turn qui renvoie un objet qui contient grid qui prend un double en tant que paramètre. Ce qui n'est pas affiché dans le code est le type de retour.

Par conséquent, ce que je peux dire, est que la fonction est déclarée quelque chose comme

Grid turn(double d); 

Grid (fictivement) a un attribut public de int[][] grid (c'est pourquoi turn(distbest * turn).grid est possible). Je base tout cela à partir de l'exemple de code indiqué ci-dessus. L'autre turn est un paramètre.

3

Le code est assez simple, alors qu'en est-il vous ne comprenez pas?

Peut-être ce qui vous confondez est le double utilisation turn à la fois comme un nom de variable et un nom de méthode - turn(distbest * turn) est un appel de méthode, et le champ grid de l'objet retourné est affecté à this.grid.

+0

oui c'est le double usage du tour –

+0

ok je viens de trouver la méthode du tour –

+0

je ne savais pas une variable peut avoir un nom de méthode. Merci –

1

En plus de la variable turn qui est un type int, il doit également y avoir une méthode int[][] turn(double) qui n'est pas affichée. Il est généralement considéré comme une mauvaise pratique de nommer les méthodes de la même manière que les variables, car elles provoquent exactement le type de confusion que vous rencontrez. Si possible, envisagez de renommer la variable ou la méthode.

Questions connexes