vbdr
Messages postés18Date d'inscriptionmardi 5 mars 2002StatutMembreDernière intervention19 septembre 2013
-
25 févr. 2004 à 01:01
vbdr
Messages postés18Date d'inscriptionmardi 5 mars 2002StatutMembreDernière intervention19 septembre 2013
-
25 févr. 2004 à 15:16
Je suis grand débutant en Java merci de m'aider
je voudrai afficher sous forme de tableau les objets d'un ArrayList et récuperer le dernier element de l'arrayList pour pouvoir calculer le total (prix total)
actuellement j'ai un affichage en continu ie : [obj1, obj2, ...objn]
voilà ce que j'ai écrit pour l'instant
Merci de votre aide
public class Client
{
public static void main(String[]args)throws IOException
{ char q;
Achat achat =new Achat();
float totalE=0;
float totalF = 0;
do
{
String libelle = Clavier.saisirString("Saisir le libelle de l'article : " );
float pu = Clavier.saisirFloat("Saisir le Prix unitaire de l'article : ");
char devise = Clavier.saisirChar("Saisir la devise du prix (F/E): ");
int qte = Clavier.saisirInt("Saisir la quantitée désirée : ");
float tva = Clavier.saisirFloat("Saisir la TVA pour l'article : ");
Article art=new Article(libelle,pu,devise,tva,qte);
achat.commande(art);
q = Clavier.saisirChar("\nEntrer un autre article (O/N) : " );
}while(q=='o'||q=='O');
System.out.println("\n\n----------------LISTE ET MONTANT DES ACHATS---------------------");
System.out.println("LIBELLE PRIX UNITAIRE DEVISE QTE TVA PRIX");
System.out.println("---------------------------------");
ArrayList v = new ArrayList();
Iterator i = v.iterator() ;
v= achat.lesarticles();
while(i.hasNext()){
System.out.println("achat.mes articles()"+ v );
System.out.println("---------------------------------");
System.out.println("---------------------------------");
System.out.println("TOTAL EN EUROS : " + totalE);
System.out.println("TOTAL EN FRANCS : " + totalF);
}
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 25 févr. 2004 à 09:55
Salut,
à priori tu ne dois pas voir la liste de tes articles vu que tu utilises un iterator sur une liste vide.
La méthode toString de List donne le contenu de la liste sous forme de tableau. Si les objet contenus dans cette liste ont redéfini eux aussi la méthode toString, tu auras le tableau souhaité. En clair il faut que ta classe Article redéfinisse la méthode toString en produisant l'affichage que tu souhaites.
De plus achat.lesarticles doit te renvoyer une List donc pour la boucle d'affichage des articles on peut avoir ça :
vbdr
Messages postés18Date d'inscriptionmardi 5 mars 2002StatutMembreDernière intervention19 septembre 2013 25 févr. 2004 à 13:34
merci ça y'est je peux afficher mais en utilisant la classe vector et enumeration
comme ça :
System.out.println("-LISTE ET MONTANT DES ACHATS--
System.out.println("LIBELLE PRIX UNITAIRE DEVISE QTE TVA PRIX");
System.out.println("---------------------------------");
Vector v = achat.lesarticles();
Enumeration e = v.elements();
mon pb maintenant est de pouvoir récupérer prixachat() de chaque objet :
un vecteur est une suite d'objets
[obj1, obj2,....objn]
l'objet étant un ensemble de variables de type différents:
obj1 = libelle, PU, devise, tva, prixachat()
comment je fais pour récupérer prixachat() de obj1 puis prixachat() de obj2...pour pouvoir les cumuler ?
float prixTotal =Calculette.cumul(prixachat()); puisque prix d'achat renvoie un float
Sauf que il ne connait pas prixachat()
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 25 févr. 2004 à 13:46
Salut,
si j'ai bien compris ton Vector contient des objets de type Article.
Il suffit d'appeller la méthode sur ces objets en les ayant d'abord caster en Article (Vector ne contient que des objets de type Object). De plus il vaut mieux utiliser Iterator (recommendation de Sun pour l'utilisation du framework Collection)
en gros ça donne ça :