Manipulation sur le type des variables - Java - Programmation
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?
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
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
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.
Marsh Posté le 14-08-2005 à 17:35:36
- Flusher le buffer.
- Fermer les streams dans un bloc FINALLY, pour la 100è fois.
- Balise code, c'est pas pour la déco.
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 ....
++
Marsh Posté le 13-08-2005 à 23:05:24
Salut à tous
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