Ouverture de fichier et ajouter une constante

cs_najinaji Messages postés 2 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 31 août 2004 - 31 août 2004 à 15:04
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 - 1 sept. 2004 à 10:31
Salut,

je suis un débutant en Java et j'ai des ptits soucis aprés avoir récupérer un prog java et un peu modifié j'obtiens ce fichier1 de sortie (voici 5 lignes de ce fichier sur des milliers)).

C00001 -156,9 kJ/mol O H2O
C01236 -666,93 kJ/mol CC Ethane
C00345 -20 kJ/mol C Méthane
C00002 -150kJ/mol CCC propane
C00005 -200 kJ/mol CCCC butane

Je voudrais ajouter des constantes juste a certaines de ces lignes par ex pour la 1er ligne je voudrais à la place de -156.9 (aprés avoir ajouté une constante de 100) avoir -56.9 kJ/mol
Pour la 3èm ligne ajouter une constante de 10 donc avoir -10kJ/mol.

Comment je pourrais proceder , j'avais penser à un Switch case, c'est à dire à chaque kon rencontreun certain Cxxxxx unique pour chaque ligne on ajoute une certaine constante à la 2 collone de ce fichier.

?????

Merci d'avance

Naji

3 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
31 août 2004 à 16:51
qu'est ce que tu ne sais pas faire?
0
cs_najinaji Messages postés 2 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 31 août 2004
31 août 2004 à 17:19
En fait ,

je ne sais pas trop comment faire pour rajouter les constantes
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
1 sept. 2004 à 10:31
en gros tu peux faire:

Pattern p=Pattern.compile("^C([0-9]*) -([0-9,]*) ([:ALPHANUM:]*)$");

String s=fichier.readLine();
Matcher m=p.matcher(s);

int i=Integer.parse(m.group(1));
float truc2=parsefloat(m.group(2)); //faut faire gaffe a , et .)
switch(i){
case truc:
truc2+=machin;
break;
}

fout.writeline("C"+m.group(1)+" -"+truc2+" "+m.group(3));

bon c'est fait tres vite sans test alors y doit y avoir des truc a modifier...
0
Rejoignez-nous