Petit probleme en java

Répondre
Lefounard
Lefounard
Déconnecté
I am singing in the rain , I am happy again !!
Bonjour,
Voila dans mon programme java je bloque sur cette erreur :
  1. Tp1_exo6.java:20: possible loss of precision
  2. found : double
  3. required: int
  4. s=s+(HexaToInt(c[i])*Math.pow(p,(n-i)));
  5. ^
  6. 1 error
  7.  

Voici le cs :
  1.  
  2. public class Tp1_exo6 {
  3.    
  4.    public static void HexaNombre(String [] args) {
  5.       int i,p;
  6.       int n=args[0].length();
  7.       int s=n;
  8.       char c[ ] = args[0].toCharArray();
  9.       for(i=0;i<n;i++)
  10.          {
  11.          p=(int)16;
  12.          s=s+(HexaToInt(c[i])*Math.pow(p,(n-i)));
  13.          }
  14.       System.out.println(s);   
  15.    }
  16.  


Voila on m'as dit de caster, mais bon j'ai essayer de caster sur les deux et ca marche toujours pas, en plus je ne sais pas si c'est correct de caster une valeur !
Merci de votre aide,
Ciao,
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
Bah je fais pas de Java mais je sais lire. Tu déclare s comme un integer or une variable de type INT est un entier.

La valeur retournée est décimal donc il faut la déclarer en tant que double (float).

found : double
required: int
Lefounard
Lefounard
Déconnecté
I am singing in the rain , I am happy again !!
Mici, j'ai coorigé et ca marche ! il fallait aussi caster tout le pow de cette maniere (int)Math.pow.
Ciao,
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog