JAVA récuper des données

Fermé
kete - 27 avril 2009 à 20:28
 kete - 27 avril 2009 à 22:08
Bonjour,

JAVA exercice : récupérer dans un tableau TOTE tous ceux dont la lettre commence par "a".

Comment faire ?
A voir également:

3 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 20:41
Fais une boucle for pour parcourir ton tableau (s'il est trié tu peux même faire plus performant).

Dans cette boucle for, tu fais un test sur l'emplacement du tableau en cours, pour voir si la première lettre est un "a", si c'est le cas tu l'ajoute dans un autre tableau ou tu l'affiche selon tes besoins.

Pour vérifier si la premier lettre d'un mot est un "a", voici comment faire :

String monMot = "avare";

if(monMot.substring(0,1).equals("a"))
{
    // alors la première lettre de mon mot est un "a"
}
else
{
    // ici la première lettre de mon mot n'est pas un "a"     :-'(
}


Bonne chance
0
Merci et que mets tu dans :

{ // alors la première lettre de mon mot est un « a »
}
Else
{
// ici la première lettre de mon mot n’est pas un « a » :-«
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 21:06
Par exemple pour l'afficher :

System.out.println(monMot);


et dans le else tu ne met rien ^^
0
Voici l'énoncer de mon problème :
A Arrivage d'un lot de poisson (erreur à traiter : "Lot déjà enregistré" nom du lot ou affichage "ARRIVAGE)
B Proposition prix d'un acheteur (erreur à traiter : "Lot inconnu" nom du lot ou affichage si possible d'augmenter prix indice 5 "nouveau prix" non du lot prix ou sinon, "Prix maintenu nom du lot pris en compte.
C Liste des lots (Affichage : "AUCUN LOT" ou la liste des lots dans l'ordre d'arrivage avec pour chacun : le nom du lot, le dernier prix enregistre, le nom de l'acheteur
C Clôture de cette vente aux enchères


#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>

#define NB_LOTS_POISSONS_MAX 50
#define TAILLE_NOM 20

struct lotPoisson{
char nomLot[TAILLE_NOM];
int prix;
char nomAcheteur[TAILLE_NOM];
};

struct acheteur{
char nom[TAILLE_NOM];
};


void Proposition(struct lotPoisson *liste, int nbLots);
int TESTLOT(struct lotPoisson *liste,char *nomLot, int nbLots);
void AFFLOT(struct lotPoisson *liste,int nbLots);
void AFFACH(struct lotPoisson *liste,int nbLots);

int _tmain()
{

struct lotPoisson lot[NB_LOTS_POISSONS_MAX];
int NbLotsSaisis=0;

char commande;
int clotureDesVentes=0;

int nbAcheteurs=0;

printf("\nVENTE DE POISSONS\n");
printf("*****************\n\n");

do
{
printf("\nA : Arrivage d'un lot de poisson\n");
printf("P : Proposition de prix d'acheteur\n");
printf("L : Liste des lots\n");
printf("C : Cloture des ventes\n");
printf("\n-> ");

commande= getch();
commande= toupper(commande);

if (commande=='A')
{
char nomLot[TAILLE_NOM];
int prix;

printf("\nSaisissez le nom du lot de poisson\n");
scanf("%s",&nomLot);
if (TESTLOT(lot,nomLot,NbLotsSaisis)==-1)
{
printf("\nSaisissez le prix de mise en vente\n");
scanf("%d",&prix);
/* initialisation du lot */
strcpy(lot[NbLotsSaisis].nomLot,nomLot);
lot[NbLotsSaisis].prix=prix;
strcpy(lot[NbLotsSaisis].nomAcheteur,"INVENDU");
/* comme spécifié, on ne testera pas le nombre de lot saisis*/
/* cependant, on risque de sortir de la zone mémoire attribuée si le nb de lots saisis dépasse 50*/
NbLotsSaisis++;
printf("\nARRIVAGE\n");
}
else
{
printf("\nLOT DEJA ENREGISTRE\n");
}
}

else
if (commande=='P')
{
Proposition(lot,NbLotsSaisis);
}
else
if (commande=='L')
{
AFFLOT(lot,NbLotsSaisis);
}
else
if (commande=='C')
{
/*fin des ventes, on sort de la boucle while */
clotureDesVentes=1;
}
} while (clotureDesVentes==0);

AFFACH(lot,NbLotsSaisis);
getch();

}

void AFFLOT(struct lotPoisson *liste, int nbLots)
{
int i;

if (nbLots==0)
{
printf("\AUCUN LOT\n");
}
else
{
printf("\nLISTE DES LOTS (nom du lot, nom acheteur, meilleure offre)\n");
for (i=0; i<nbLots; i++)
{
printf("lot %2d : %20s %20s %5d\n", i+1, liste[i].nomLot, liste[i].prix, liste[i].nomAcheteur);
}
}
}

int TESTLOT(struct lotPoisson *liste,char *nomLot, int nbLots)
{
int i;
int code_retour=-1;

for (i=0; i<nbLots; i++)
{
if (strcmp(nomLot,liste[i].nomLot)==0)
{
/* le nom du lot existe dans un des lots saisis, il est à la position i*/
code_retour=i;
/* on quitte la boucle for par un break */
break;
}
}
return(code_retour);
}


void Proposition(struct lotPoisson *liste, int nbLots)
{
char nomAcheteur[TAILLE_NOM], nomLot[TAILLE_NOM];
int prix;
int numeroLot;


printf("\nNom Acheteur :\n");
scanf("%s", nomAcheteur);

if (strcmp(nomAcheteur,"INVENDU")!=0)
{
/* le nom de l'acheteur a été correctement saisi */
/* on demande donc de saisir le nom du lot */
printf("\nNom du lot : ");
scanf("%s",nomLot);

/* recherche du lot dans la liste */
numeroLot=TESTLOT(liste,nomLot,nbLots);
if (numeroLot!=-1)
{
printf("\nProposition de prix pour ce lot: ");
scanf("%d",&prix);

if ( prix>liste[numeroLot].prix )
{
/* l'acheteur est meilleur enchérisseur sur le lot */
strcpy(liste[numeroLot].nomAcheteur, nomAcheteur);
liste[numeroLot].prix=prix;

printf("\nNOUVEAU PRIX %s %5d\n", liste[numeroLot].nomLot, liste[numeroLot].prix);
}
else
{
printf("\nPRIX MAINTENU\n");
}
}
else
{
printf("\nLOT INCONNU\n");
}
}
else
{
printf("\nNOM ACHETEUR IMPOSSIBLE\n");
}
}

void AFFACH(struct lotPoisson *liste, int nbLots)
{

/* cette fonction doit afficher le bilan des ventes par acheteur */
/* il faut donc d'abord établir la liste des acheteurs et leur bilan */
int lotTraite[50];
int i,j,nbAcheteurs=0;
int total;

for (i=0; i<nbLots; i++)
{
/* lot non comptabilisé*/
lotTraite[i]=0;
}
for (i=0; i<nbLots; i++)
{
if ((lotTraite[i]==0)&&(strcmp(liste[i].nomAcheteur, "INVENDU")!=0))
{

printf("\n Acheteur %s : ",liste[i].nomAcheteur);
printf(" %s ",liste[i].nomLot);
total=liste[i].prix;
/* le lot i a un acheteur */
/* on fait la somme des */
for (j=i+1; j<nbLots; j++)
{
if (strcmp(liste[j].nomAcheteur,liste[i].nomAcheteur)==0)
{
printf(" %s ",liste[j].nomLot);
total+=liste[j].prix;
lotTraite[j]=1; /* indique que le lot a déjà été comptabilisé*/
}
}
printf("\nTOTAL : %5d\n", total);
}
}

}
0
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
27 avril 2009 à 21:26
Ton énoncé est en C et tu nous demande de l'aide en Java, je pige plus rien moi :P
0
Non celui ci est en C // je veux de l'ai en C merci.
0