jsand094
-
29 sept. 2012 à 19:59
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
1 oct. 2012 à 09:24
Bonjour,
J'ai écris un petit code (en java) qui permet de calculer le degree d'insaturation d'une molécule. Seulement je ne sais pas convertir un caractere en entier pour faire le calcul.
Rmq : pour une molecule donnee, DI = (2*nC+2 + nN - nH - nALO)/2;
package di;
/**
*
*/
import java.util.Scanner;
public class DI {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
String fr;
int nC, nH, nO, nN, nALO, DI;
System.out.println("entrer la formule brute :");
fr = sc.next().toUpperCase();
for(int i=0; i<fr.length(); i++){
if(fr.charAt(i)=='C'){
nC = Integer.parseInt(fr.charAt(i+1));
}else{
nC = 0;
}
if(fr.charAt(i)=='H'){
nH = Integer.parseInt(fr.charAt(i+1));
}else{
nH = 0;
}
if(fr.charAt(i)=='O'){
nO = Integer.parseInt(fr.charAt(i+1));
}else{
nO = 0;
}
if(fr.charAt(i)=='N'){
nN = Integer.parseInt(fr.charAt(i+1));
}else{nN = 0;
}
if((fr.charAt(i)=='C')&&(fr.charAt(i+1=='l') ||(fr.charAt(i)=='B')&&(fr.charAt(i+1)=='r')){
nALO = Integer.parseInt(fr.charAt(i+2));
}else{nALO = 0;
}
}
DI = (2*nC+2 + nN - nH - nALO)/2;
System.out.println("Le degree d'insaturation de la molecule est : (2*"+nC+"+2 + "+nN+" - "+(-nH)+" - "+(-nALO)+") /2 = "+DI);
}
}