Besoin d'aide pour écrire un prg java

ninie_pimpim Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je dois écrire un programme en java mais je suis carrément perdue.

Le programme doit calculer le pourcentage de nombres négatifs parmi une série de nombres.
Le programme commence par demander à l’utilisateur combien il veut entrer de nombres, puis il lit chacun de ces nombres au clavier.

les nb entrés pas l'utilisateurs sont de type int et mon pourcentage de type double
Zéro est considéré comme positif.
je ne traite pas les erreur de saisie


je du mal à saisir comment comment le prog va lire mes variables soit qu'elles soit toutes initialisés, puisque il y aura autant de variables que ne nb entré par l'utilisateurs.

Merci de votre aide
A voir également:

3 réponses

tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
Salut,

Vous devez créer un tavleaux, donc certainement il y aura une limite pour les nombres à lire, par exmeple 100.
Java ne lit que des chaines decracatères, donc vous devez les transformer en "int".

Vous ne manipuler pas vraiment d'objets, je pense que l'utilisation de Java est comme l'utilisation d'un canon pour tuer une mouche :).

import java.io.*;


public class ClaculPour100ageNegatives
{
         public static void main(String args[]) 
         {
                int tableau[100];
                InputStream entree = new InputStream(System.in);

                int nombreElements = Integer.parseInt(entree.readLine());
                int nombresNegatifs = 0;

                for(int i = 0; i < nombreElements; i++)
                {
                      tableau[i] = Integer.parseInt(entree.readLine());

                      if (tableau[i] < 0)
                      {
                            nombresNegatifs++;
                      }
                }

                double pourcentage = nombresNegatifs / nombreElements; 

                
         }
}



il y a des betises, j'ai pas testé mais ça ne doit pas être loin de ça :)
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonjour,
En utilisant une LinkedList à la place d'un tableau, tu n'auras plus de limitation de taille.
Pour lire le clavier, tu peux utiliser la classe Scanner, qui peut automatiquement mapper l'entrée lue dans un Integer.
Ainsi l'utilisation de java ne sera plus un "canon pour tuer des mouches", vu qu'on n'utilisera plus que des classes et non plus des types primitifs et tableaux.

Cordialement,
0
ninie_pimpim Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre réponse;

est il possible d'écrire ce programme sans passé par un tableau (cad avec des if, et des boucles for et while) ?
parce que les tableaux je maitrise pas du tout.
0
tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
Si vous ne voulez pas garder les nombres lus: Oui c'est possible, il sera de la forme:

import java.io.*;


public class ClaculPour100ageNegatives
{
         public static void main(String args[]) 
         {
               
                InputStream entree = new InputStream(System.in);

                int nombreElements = Integer.parseInt(entree.readLine());
                int nombresNegatifs = 0;

                int tempon;

                for(int i = 0; i < nombreElements; i++)
                {
                      tempon = Integer.parseInt(entree.readLine());

                      if (tempon < 0)
                      {
                            nombresNegatifs++;
                      }
                }

                double pourcentage = nombresNegatifs / nombreElements; 

                
         }
}



J'ai entendu parlé de la classe Scanner qui est disponible de la version 1.5, mais malheureusement, j'ai appris Java sous la version 1.4, donc je ne sais pas grande chose à propos, mais je pense qu'elle est plus performante.


Bon Courage.
0