Calculer la somme d'une série de nombre [Résolu]

Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
9 mars 2005
- - Dernière réponse : unaruz
Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
9 mars 2005
- 9 mars 2005 à 20:03
Bonjour,
J'ai un fichier texte contenant une série (cours de CAC40), chaque cours est sur une ligne. Mon objectif c'est de calculer la somme de tous les cours (càd qu'on va sommer tous les nombres qui se trouve sur les ligne (un seul nb par ligne).

Comme je suis débutant en Java, je sollicite donc votre aide pour m'aider à la conception d'un programme java qui prend en argument le nom du fichier texte (qui contient les donnée). ce programme doit ensuite afficher la somme totale de la série sur la ligne de commande.

Merci beaucoup
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
46
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
28 août 2005
2
3
Merci
Bonjour,

Il faut faire un try catch dans ta méthode car des exceptions peuvent être levée (si le format de tes lignes ne permet pas de transformer le String en nombre, ou s'il y a un problème de fichier).
Mais si tu as des erreurs à l'exécution, cela vient soit du format dans ton fichier, soit de l'adresse que tu donnes.

Alors ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 205 internautes nous ont dit merci ce mois-ci

Commenter la réponse de wildcat31
Messages postés
46
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
28 août 2005
2
0
Merci
Pour un seul nombre par ligne, avec que des lignes de nombres, tu peux faire :

BufferedReader r = new BufferedReader(new FileReader(nomFichier));
double sommeTotale = 0;
String line = r.readLine();
while(line != null)
{
double nombre = new Double(line).doubleValue();
sommeTotale += nombre;
line = r.readLine();
}
Commenter la réponse de wildcat31
Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
9 mars 2005
0
Merci
Merci pour vos indications précieuses,

le programme est le suivant mais:

-----------------------------------------------------------------------------------------

import java.io.*;

public class projet

{

public static void main (String [ ] args)

{

BufferedReader r = new BufferedReader(new FileReader("serie.txt"));

double somme = 0;

String line = r.readLine();

while(line != null)

{

double nombre = new Double(line).doubleValue();

somme +=nombre;

line=r.readLine();

}

System.out.println(somme);

}

}

----------------------------------------------------------------------------------------



Mais j'obtiens tj 3 messages d'erreur :( et j'ai tt essayé mais sans
résultats sachant que mon fichie texte contient les données sous la
forme suivante

12.32

23.67

65.81

........



Merci encore
Commenter la réponse de unaruz
Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
9 mars 2005
0
Merci
Salut,

Merci beaucoup, j'ai fait comme vous m'avez conseillé et voila le
programme finale qui se compile correctement mais avec deux message du
type:



Note: Test1.java uses or overrides a deprecated API.

Note: Recompile with -Xlint:deprecation for details.



Il s'agit peut etre d'une utilisation d'anciennes méthode!! mais je ne sais pas lesquelles et je souhaite faire disparaitre ces deux messages pendant la compilation.



--------------------------------------------------------------------------------------------

import java.io.*;



public class Test1

{

// Méthode lancée à l'appel de l'instruction :

public static void main (String [ ] args)

{

try

{

// Ouverture du fichier passé en paramètre dans la ligne de commande

// avec un filtre utilisant un buffer

InputStream fluxFichier = new BufferedInputStream (


new FileInputStream (args [0]));




somme(fluxFichier);



fluxFichier.close ();

}

catch (IOException e)

{

// Exception déclenchée si un problème survient pendant l'accès au fichier

System.out.println (e);

}

}



public static void somme (InputStream flux) throws IOException

{



LineNumberInputStream fluxLignes = new LineNumberInputStream (flux);

// Ajout d'un filtre pour lire de manière plus pratique les caractères

DataInputStream r = new DataInputStream (fluxLignes);



// Lecture des lignes du flux jusqu'à la fin du flux



double somme = 0;

String line = r.readLine();

while(line != null)

{

double nombre = new Double(line).doubleValue();

somme +=nombre;

line=r.readLine();

}

// Ecriture sur la sortie standard

System.out.println("La somme est = " +somme);

}

}

-------------------------------------------------------------------------------------------



Mon programme s'intitule Test

Pour l'executer: java test serie.txt



Merci beaucoup pour vos précieux conseils.
Commenter la réponse de unaruz