Java
classico
-
Ratife Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Ratife Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
class A {
public A() {
np=3;
p=n*np;
n=5;
}
public void affiche() {
System.out.println("np="+np+"p="+p+"n="+n);
}
private int np;
private int n=20*np , p=10;
}
public class Exercice0 {
public static void main(String args[] ) {
A a=new A();
a.affiche();
}
}
// je veux savoir pourquoi ce programme affiche n=5 p=0 np=3 //
// mon probleme c'est avec le p=0 , j'arrive pas à comprendre comment Java prend les choses a ce niveau pour qu'il affiche 0
et Merci beaucoup
public A() {
np=3;
p=n*np;
n=5;
}
public void affiche() {
System.out.println("np="+np+"p="+p+"n="+n);
}
private int np;
private int n=20*np , p=10;
}
public class Exercice0 {
public static void main(String args[] ) {
A a=new A();
a.affiche();
}
}
// je veux savoir pourquoi ce programme affiche n=5 p=0 np=3 //
// mon probleme c'est avec le p=0 , j'arrive pas à comprendre comment Java prend les choses a ce niveau pour qu'il affiche 0
et Merci beaucoup
A voir également:
- Java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
1 réponse
OK , le probleme est:
tous les variables suivantes sont globale:
private int np;
private int n=20*np , p=10;
Ainsi avant d'entrer dans le constructeur, il effectue ces calculs càd : np =0 ; n = 20*0 =0 et p=10
Dans le constructeur : np = 3 ; p = n * np = 0 * 3 = 0 ; n =5.
Donc la solution c'est de renverser la place de n=5; et p=n*np;
càd
np = 3;
n = 5;
p = n*np;
A mon avis c ça !
tous les variables suivantes sont globale:
private int np;
private int n=20*np , p=10;
Ainsi avant d'entrer dans le constructeur, il effectue ces calculs càd : np =0 ; n = 20*0 =0 et p=10
Dans le constructeur : np = 3 ; p = n * np = 0 * 3 = 0 ; n =5.
Donc la solution c'est de renverser la place de n=5; et p=n*np;
càd
np = 3;
n = 5;
p = n*np;
A mon avis c ça !