Petit probleme en java

Répondre
Lefounard
le 06/10/2005 à 14:51
Lefounard
Bonjour,
Voila dans mon programme java je bloque sur cette erreur :
Tp1_exo6.java:20: possible loss of precision
found : double
required: int
s=s+(HexaToInt(c[i])*Math.pow(p,(n-i)));
^
1 error

Voici le cs :
public class Tp1_exo6 {

public static void HexaNombre(String [] args) {
int i,p;
int n=args[0].length();
int s=n;
char c[ ] = args[0].toCharArray();
for(i=0;i<n;i++)
{
p=(int)16;
s=s+(HexaToInt(c[i])*Math.pow(p,(n-i)));
}
System.out.println(s);
}


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,
I am singing in the rain , I am happy again !!
zebden
le 06/10/2005 à 15:24
zebden
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
zebdinou pour les intimes / Blog : http://www.zebden.fr
Lefounard
le 06/10/2005 à 19:29
Lefounard
Mici, j'ai coorigé et ca marche ! il fallait aussi caster tout le pow de cette maniere (int)Math.pow.
Ciao,
I am singing in the rain , I am happy again !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours