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

Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
9 mars 2005
- 5 mars 2005 à 11:58 - Dernière réponse :
Messages postés
3
Date d'inscription
vendredi 10 novembre 2000
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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
46
Date d'inscription
jeudi 16 décembre 2004
Dernière intervention
28 août 2005
- 8 mars 2005 à 10:59
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 ?

Merci wildcat31 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de wildcat31
Messages postés
46
Date d'inscription
jeudi 16 décembre 2004
Dernière intervention
28 août 2005
- 7 mars 2005 à 10:22
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
Dernière intervention
9 mars 2005
- 7 mars 2005 à 23:59
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
Dernière intervention
9 mars 2005
- 9 mars 2005 à 20:03
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.