Manipulation sur le type des variables

Manipulation sur le type des variables - Java - Programmation

Marsh Posté le 13-08-2005 à 23:05:24    

Salut à tous :pt1cable:  
 
j'ai un problème pour l'écriture d'une condition.
j'ai un programme qui parse des donnees et qui les réécrit dans un autre fichier.
A un certain moment je capture un entier avec lequel je fais deux petites opérations élémentaires.
Et suivant le résultat, si c'est un entier ou un double, je continue.
C'est cette condition que je n'arrive pas à implémenter.
Je vous donne un exemple:
Je capture l'entier 40.
je fais mes petites opérations: (40/3)/2  
le résultat est 6,66.
Lorsqu'il s'agit d'un double, il faut que je le transforme en entier (le 1er entier supérieur)
c'est à dire, ici transformer 6,66 en 7
Je vois vraiment pas comment gérer les conditions sur les types avec le if
Merci pour votre aide :)  

Reply

Marsh Posté le 13-08-2005 à 23:05:24   

Reply

Marsh Posté le 14-08-2005 à 11:19:32    

considères plutot que la sortie est forcèment un double et convertis en entier...non?


Message édité par victorus_ecl le 14-08-2005 à 11:19:42
Reply

Marsh Posté le 14-08-2005 à 12:32:06    

salut
j'ai pensé à ça mais je ne sais pas comment on fait.
En sachant par exemple que si j'ai le double 6.0, il faudra faire un test pour savoir si c'est un "double qui est entier" ...
 Merci

Reply

Marsh Posté le 14-08-2005 à 14:33:20    

Autrement dit, tu manipules des "doubles" et tu te demandes comment faire un arrondi.
 
http://www.cafeaulait.org/course/week4/40.html
 
[:pingouino]

Reply

Marsh Posté le 14-08-2005 à 14:57:22    

salut merci pour votre aide  :)  
 
j'ai trouvé comment faire. Il faut utiliser la méthode ceil (renvoie l'entier le plus proche supérieur ou égal à l'argument)  
J'ai écrit mon code mais il refuse d'écrire dans le fichier
 
public void parse_vvp3() {
    String tmp3 = "";
    int num;
    double NbVecProp;double num1;double num11;
    int NbValProp;int num2;
    BufferedWriter bw;
    try {
 FileReader f_r = new FileReader(f_atila);
 StreamTokenizer st = new StreamTokenizer(f_r);
 BufferedReader br = new BufferedReader(new FileReader(f_atila));  
 bw = new BufferedWriter(new FileWriter(f_sysnoise,true));
 
 for (int i=0; i<5; i++) {
  st.nextToken();
 }
//je récupère les entiers souhaités  
 st.nextToken();
 NbVecProp = (int)st.nval;
 System.out.println(NbVecProp);
 st.nextToken();
 NbValProp = (int)st.nval;
 System.out.println(NbValProp);
 
//je saute les 5 1ères lignes  
 for (int j=0; j<5; j++) {
  //br.readLine();
  System.out.println("ligne" +j+br.readLine());
 }
 
 num1 = (NbVecProp/2)/3;System.out.println(num1);
 num11 = (int)Math.ceil(num1);
 System.out.println(num11);
 
 for (int k=0; k<num11; k++) {
  //System.out.println(br.readLine());
  bw.write(br.readLine() + "\n" );
 }
// ici quand j'utilise le system.out.println, il m'affiche bien ce qu'il doit ecrire dans le fichier. Mais lorsque je passe bw.write, il n'ecrit rien dans le fichier
 
 br.close();
 bw.close();    
    }//fin try
    catch (Exception ex) {
      JOptionPane.showMessageDialog(null,
       "Erreur lors de la lecture vvp3 du fichier " +
       f_atila.getName(),
       "Erreur",
       JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    }
}//fin parse_vvp3

comprends pas.  
 
 :??:  :??:  

Reply

Marsh Posté le 14-08-2005 à 17:35:36    

- Flusher le buffer.
- Fermer les streams dans un bloc FINALLY, pour la 100è fois. :o
- Balise code, c'est pas pour la déco. :o


Message édité par sircam le 14-08-2005 à 17:36:08

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 14-08-2005 à 18:07:56    

Hello
 
Enfait je ne sais pas ce que j'ai fait, j'ai recompilé et rééxécuté et ca marche.
Alors que je n'ai rien changé  :??:  
Je me retrouve face à un nouveau problème
je crée un nouveau post ....
++

Reply

Marsh Posté le 14-08-2005 à 18:11:53    

et utilise les conventions de nommage java pour tes variables...ca rend le code nettement plus lisible...


---------------
Jubi Photos : Flickr - 500px
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed