Methode
Résolu
meryem
-
meryem -
meryem -
Bonjour,
j ai etudié .Net et j voulais travailler un tp en java j 'ai fait cette méthode en c# et je veux la transformer en java mais j'ai pas su comment :
Methode ajouerParticipants , NewClass c 'est une classe mère , matricule c'est son attribut .. bref je veux juste savoir comment on fait cela en java , et surtout pour foreach , car on m donne erreur ..
public void AjouterParticipant(NewClass ex)
{
LIsteDev.add(ex.matricule, ex);
}
public float CalculeSalairetousparticipants()
{
float sum = 0;
foreach (NewClass e in LIsteDev.Values)
{
sum = sum + e.Calcul_salaire(e.Nbh);
}
return sum;
}
un petit help .merci ^^
j ai etudié .Net et j voulais travailler un tp en java j 'ai fait cette méthode en c# et je veux la transformer en java mais j'ai pas su comment :
Methode ajouerParticipants , NewClass c 'est une classe mère , matricule c'est son attribut .. bref je veux juste savoir comment on fait cela en java , et surtout pour foreach , car on m donne erreur ..
public void AjouterParticipant(NewClass ex)
{
LIsteDev.add(ex.matricule, ex);
}
public float CalculeSalairetousparticipants()
{
float sum = 0;
foreach (NewClass e in LIsteDev.Values)
{
sum = sum + e.Calcul_salaire(e.Nbh);
}
return sum;
}
un petit help .merci ^^
A voir également:
- Methode
- Methode rar - Guide
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Méthode des j excel télécharger ✓ - Forum Excel
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA
- Quelle est la méthode la plus rapide pour supprimer une page dans word - Guide
1 réponse
Je n'ai pas bien tout compris de ton problème mais en tout cas le mot-clef foreach n'existe pas en Java.
En Java la boucle foreach utilise le mot-clef for.
La moindre recherche sur Google donne des résultats sur ça...
Mais pour faire court : for (final Truc o : objects) { ... }
- objects doit implémenter l'interface java.lang.Iterable (ce qui est le cas de beaucoup (si pas toutes) les Collections comme les List).
- chaque élément o de objects doit être un Truc (au sens large, ou une sous-classe de Truc).
En Java la boucle foreach utilise le mot-clef for.
La moindre recherche sur Google donne des résultats sur ça...
Mais pour faire court : for (final Truc o : objects) { ... }
- objects doit implémenter l'interface java.lang.Iterable (ce qui est le cas de beaucoup (si pas toutes) les Collections comme les List).
- chaque élément o de objects doit être un Truc (au sens large, ou une sous-classe de Truc).
Effectivement toutes les Collections implémentent Iterable (l'interface Collection hérite directement de l'interface Iterable)
La boucle for peut aussi être utilisé comme une boucle "for each" sur les tableaux.
Il n'est pas nécessaire que "Truc" soit une classe, ça peut être un type primitif, une interface, ou même un type paramétré <E>
Pour en revenir au code, en Java on aurait quelque chose comme ceci, mais ça dépendra fortement du type de "LIsteDev" parce qu'a-priori dans les classes standards Java il n'y a pas de méthode "add" à deux arguments, de plus l'objet "LIsteDev.Values" serait généralement inutile, on pourrait directement itérer sur "LIsteDev" sans passer par "Values"
Remarque : j'ai modifié les noms dans ton code pour respecter les conventions de nommage Java.
for (NewClass e : listeDev.values)
listeDev est un objet hashtable
Hashtable LIsteDev = new Hashtable();
l'erreur est : values has private access in hashtable
et aussi pour la ligne sur add et matricule :
public void AjouterParticipant(NewClass ex)
{
LIsteDev.add(ex.matricule, ex);
}
MERCI et je m'excuse pour le dérangement
C'est curieux de nommer un hashtable en l'appelant "liste".
"values" est une méthode, pas un attribut, il lui faut donc des arguments ? values()
Remarque : dans la documentation il est déconseillé d'utiliser Hashtable, qui est une vieille classe Java 1, on lui préférera HashMap, voire ConcurrentHashMap si l'application doit être thread-safe.
À noter qu'il y a aussi les TreeMap qui sont souvent plus performantes que les HashMap (lorsqu'il y a peu de valeurs notamment) et qui nécessitent juste que les clés soient Comparable, ce qui est certainement le cas de tes "matricule".
Comment écrire Console.ReadKey(); en java .
En Java la classe Console existe mais à mon avis ta méthode doit plutôt être équivalente à une instruction System.in.read(). Mais en pratique on utilise plutôt des classes comme Scanner :