Programme facile qui ne fonctionne pas
Résolu
rdp80
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
rdp80 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
rdp80 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour Mesdames, bonjour Messieurs,
je suis actuellement en étude de programmation dans une école et j'ai quelques problèmes concernant mon code java.
Je dois créer un programme qui lit le les sommes que nous rentrons au clavier de l'ordinateur et qui doit me sortir la somme moyenne reçue , la somme minimale reçue et la somme maximale reçue.
J'ai tapé quelques lignes mais je ne comprends pas ou est mon erreur, pourriez-vous m'aider?
Merci beaucoup
je suis actuellement en étude de programmation dans une école et j'ai quelques problèmes concernant mon code java.
Je dois créer un programme qui lit le les sommes que nous rentrons au clavier de l'ordinateur et qui doit me sortir la somme moyenne reçue , la somme minimale reçue et la somme maximale reçue.
J'ai tapé quelques lignes mais je ne comprends pas ou est mon erreur, pourriez-vous m'aider?
package openClassRooms; import java.util.*; public class Exercice07 { public static void main(String[] args) { Scanner keyb=new Scanner(System.in); int nombreDeSommesRecues=0; double sommesMoyennesRecues=0; double sommesMinimalesRecues=0; double sommesMaximalesRecues=0; System.out.println("Bonjour veuiller indiquer le nombre de sommes recues: "); nombreDeSommesRecues=keyb.nextInt(); double [] tab = new double[nombreDeSommesRecues-1]; for (int i=0;i<nombreDeSommesRecues;++i) { System.out.println("Veuillez rentrer la reçue la "+(i+1)+" fois"); tab[i]= keyb.nextDouble(); } for (int j=0;j<nombreDeSommesRecues;++j) { sommesMoyennesRecues=sommesMoyennesRecues+tab[j]; } System.out.println("La somme moyenne reçue est de : "+sommesMoyennesRecues); sommesMinimalesRecues=tab[0]; for (int k=0;k<nombreDeSommesRecues;++k) { if (sommesMinimalesRecues>tab[k]) { sommesMinimalesRecues=tab[k]; } } System.out.println("La plus petite somme reçue est de : "+sommesMinimalesRecues); sommesMaximalesRecues=tab[0]; for (int l=0;l<nombreDeSommesRecues;++l) { if (sommesMaximalesRecues<tab[l]) { sommesMaximalesRecues=tab[l]; } } System.out.println("La somme maximale reçue est de : "+sommesMaximalesRecues); System.out.println("Fin du programme"); } }
Merci beaucoup
A voir également:
- Programme facile qui ne fonctionne pas
- Comment fermer un programme qui ne répond pas - Guide
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
2 réponses
Bonjour,
Tu as mal initialisé ton tableau :
Pourquoi avoir mis
Tu as mal initialisé ton tableau :
double [] tab = new double[nombreDeSommesRecues-1];
Pourquoi avoir mis
-1?
Bonjour KX,
j'ai mis un "-1" car il me semble que dans un tableau le nombre de case commence à 0.
En effet, prenons l'exemple que je reçoive 4 sommes, si je laisse:
double [] tab = new double[4];
il va me créer 5 cases: la case numéro 0, la case numéro 1,...,la case numéro 4 ce qui me ferait 5 cases dans mon tableau ce qui serait inutile puisque j'en ai besoin que de 4.
C'est pour cela que j'ai mis le -1 pour que le nombre de cases correspondent aux nombres de sommes que je vais recevoir.
Est-ce que j'ai été clair dans ce que j'ai dit?
j'ai mis un "-1" car il me semble que dans un tableau le nombre de case commence à 0.
En effet, prenons l'exemple que je reçoive 4 sommes, si je laisse:
double [] tab = new double[4];
il va me créer 5 cases: la case numéro 0, la case numéro 1,...,la case numéro 4 ce qui me ferait 5 cases dans mon tableau ce qui serait inutile puisque j'en ai besoin que de 4.
C'est pour cela que j'ai mis le -1 pour que le nombre de cases correspondent aux nombres de sommes que je vais recevoir.
Est-ce que j'ai été clair dans ce que j'ai dit?