[Language] Accès à une variable
( re ) bonjour
je suis en train de faire comme une synthese du peu que j'ai lus
mais une fois de plus je n'ai pas tout compris :pleure:
tout contend d'avoir creer ma premiere classe utulisant l'heritage
j'ai voulu la mettre en pratique
seulement, mon code comporte 4 erreurs :?
j'ai essayer de changer plein de chose et rien n'y fait !
voici le code de la page qui lance le test
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
package exos.outils;
import javax.swing.JOptionPane;
class bt
{
public static void main(String [] args)
{
String message=" un chiffre a calculer :";
float c=Float.parseFloat(JOptionPane.showInputDialog(null,message));
String message2="Hors taxe(1) ou ttc ?(0)";
int d=Integer.parseInt(JOptionPane.showInputDialog(null,message2));
String message4="5.5(0) ou 19.6(1)";
float e=Float.parseFloat(JOptionPane.showInputDialog(null,message4));
if(e==0)
{
tva5 matva=new tva5(c,d);
}
else
{
tva2 matva=new tva2(c,d);
}
matva.calcultva();
JOptionPane.showMessageDialog(null,"La tva est de"+matva.getTva());
JOptionPane.showMessageDialog(null,"Le Ht est de"+matva.getHt());
JOptionPane.showMessageDialog(null,"Le TTc est de"+matva.getTtc());
}
} |
et le code de la classe tva2 et tva5 ( respectivement 19.6 et 5.5 )
normalement correct...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
package exos.outils;
public class tva2
{
protected float ttc;
protected float ht;
protected double tva9;
protected int mode;
public tva2(float chiffre,int mode)
{
if(mode==1)
{
this.ttc=chiffre;
this.mode=mode;
}
else
{
this.ht=chiffre;
this.mode=(int) chiffre;
}
}
public void calcultva()
{
if(this.mode==1)
{
this.tva9=(this.ttc*100)/119.6;
this.ht=this.ttc-(float)this.tva9;
}
else
{
this.tva9=(this.ht*19.6)/100;
this.ttc=this.ht+(float)this.tva9;
}
}
public double getTva()
{
return this.tva9;
}
public float getHt()
{
return this.ht;
}
public float getTtc()
{
return this.ttc;
}
}
class tva5 extends tva2
{
public tva5(float f,int i)
{
super(f,i);
}
public void calcultva()
{
if(this.mode==1)
{
this.tva9=(this.ttc*100)/105.5;
this.ht=this.ttc-(float)this.tva9;
}
else
{
this.tva9=(this.ht*5.5)/100;
this.ttc=this.ht+(float)this.tva9;
}
}
} |
les quatres erreurs resorties sont :
Citation:
cannot resolve Symbol
Symbol: Variable matva //Normalement qui est censé etre un objet de type tva2 ou tva5
Location: exos.outils.bt
et les quatres erreurs pareil
j'ai poster le code des deux classe au cas ou il pourrait vous servir...
( mais normalement correct car deja corrigé par un membre )
Merci tous :wink:
Re: [Débutant]Probléme d'instanciation
Citation:
Envoyé par Boumeur
if(e==0)
{
tva5 matva=new tva5(c,d);
}
else
{
tva2 matva=new tva2(c,d);
}
matva.calcultva();
t'as déclaré matva dans le if, je vois pas pourquoi il serait reconnu en dehors...