Manipulation des fichiers

wiwiRI - 22 sept. 2012 à 00:44
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 25 sept. 2012 à 18:56
salut;
j'ai deux fichiers qui contiennent des valeurs comme suit
1
22
32
43
54
le premier fichier contient les valeurs de n
et le deuxième celle de r
je veux récupérer les valeurs de ces deux fichiers et l'utiliser pour calculer le poids de terme voila mon code
public static double main(String[] args) 
{ 

double n;
double r;
double R= 26;
int N= 79919;	

String chaine = null; 
// lecture du fichier texte 
try { 
InputStream ips = new FileInputStream("d:/n.txt"); 
                InputStream ips = new FileInputStream("d:/r.txt");
InputStreamReader ipsr = new InputStreamReader(ips); 
BufferedReader br = new BufferedReader(ipsr); 
String ligne; 
int numLigne = 0; 
int nombreDeLignes = 30; // par exemple 
int[] var = new int[nombreDeLignes ]; 

while ((ligne = br.readLine()) != null) 
{ 
numLigne++; 
System.out.println(ligne); 
chaine += ligne + "\n"; 
 
} 

for (int i = 0; i < var.length; i++) 

 
{ 
 
} 

br.close(); 
} 
catch (Exception e) { 
System.out.println(e.toString()); 
} 

poids_terme = java.lang.Math.log  ((( r+0.5)/( R - r+0.5))/
                                (n - r + 0.5)/((N - n- ( R- r)+0.5)));

ensuite enregistrer les poids dans un nouveau fichier.
merci pour votre aide.

2 réponses

Utilisateur anonyme
23 sept. 2012 à 03:35
Salut,

1) La méthode main est obligatoirement void et donc ne retourne rien :
public static void main(String[] args)
      {
       .....
      }


2) Il nous manque pas mal d'infos concernant les deux fichiers n et r:
- l'exemple que tu nous donnes est celui d'un des deux fichier, tu as un exemple du deuxième?

- est-ce qu'il y a autant de lignes dans l'un que dans l'autre ?
(je suppose que oui...)

...

Ensuite on arrivera peut-être à voir comment lire une ligne de chacun des deux fichiers, calculer un 1er poids_terme (c'est quoi ?), l'enregistrer dans un nouveau fichier. lire une autre ligne de chacun des deux fichiers etc ...

...\ Dan /...
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
25 sept. 2012 à 18:56
salut,

Aussi ;o) je vois déjà au moins une erreur à la compilation (en plus du void sur main) ;o) et surement un nullpointer ;o) ...
Pourquoi fixer le nombre de ligne à 30 ;o) ??? utilise plutot une liste...

Tes noms de variables ne doivent pas être en majuscule et ne pas comporter de "_", éviter aussi les variables d'une lettre (et meme 2) en dehors des itérations.
Si R et N sont des constantes : décrit les comme telle ;o) ...

Ces recommendations, de base, passé ;o) ...

normalement il te suffit de faire 3 itérations pour obtenir ton résultat :
-la premiere pour extraire tes valeur de 'n'
avec BufferedReader cela passe tres bien...
-la seconde pour extraire tes valeur de 'r'
exactement la meme manipe que pour la premiere ;o)
(enviseage donc de faire une methode/fonction pour éviter 2 fois le même code)
-et la 3ieme pour ecrire ton fichier résultat ;o)
avec un BufferedWriter cela doit le faire tres bien...
pour le nombre d iteration tu peux te baser sur ta liste la plus courte, et donc une petite alternative ;o)


GodConan ;o)
0
Rejoignez-nous