[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:
	
| 12
 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:
	
| 12
 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...