Rechercher : dans
Par :

[java] une erreur que j'arrive pas à corriger

Dernière réponse le 6 nov 2006 à 12:36:11 dikambo, le 3 nov 2006 à 23:55:03 
 Signaler ce message aux modérateurs

Bonjour,
dans mon code j'ai une erreur à ce niveau:

for(int i=1; i<n ;i++)
{

u=(1).modInverse(i);


System.out.println("a= "+i+"et son inverse est "+u);
}
et voici l'erreur que ca me renvoie:
java:93: operator < cannot be applied to int,java.math.BigInteger

for(int i=1; i<n ;i++)

^

java:96: int cannot be dereferenced

u=(1).modInverse(i);

^
merci

Meilleures réponses pour « [java] une erreur que j'arrive pas à corriger » dans :
Activer le correcteur d'orthographe VoirActiver le correcteur d'orthographe De nombreux utilisateurs peuvent avoir des petits soucis d'orthographe sur les forums, sites web, etc. Je vais donc vous montrer comment activer le correcteur d'orthographe sous Mozilla Firefox.   Ouvrez...
DirectX a rencontré une erreur qui ne peut être corrigée VoirAu lancement d'un jeu (Call Of Duty par exemple), le système renvoie l'erreur suivante : DirectX a rencontré une erreur qui ne peut être corrigée Diagnostics Avant toute chose, il peut être utile de comprendre l'origine du problème. Pour ce faire...
Installer Java dans Firefox (sous Windows) VoirJava est nécessaire pour certains sites web, notamment le site des impôts français. Voici comment l'installer dans Firefox sous Windows. Test Allez à cette adresse: http://java.sun.com/applets/jdk/1.4/demo/applets/Clock/example1.html Si Java...
Java - Les exceptions VoirLa nécessité de détecter les erreurs Tout programme comporte des erreurs, même si celui-ci semble fonctionner à merveille. Chaque programmeur essaye de réduire au minimum le nombre d'erreurs, mais toutes les erreurs ne peuvent pas forcément être...

1

Pascal, le 3 nov 2006 à 23:58:19

Salut,

comme ça, c'est difficile à dire .
ESt-ce que tu pourrais mettre le programme entier ?

Répondre à Pascal

2

dikambo, le 4 nov 2006 à 00:17:51

Okay, voilà son integralité :


import java.io.*;
import java.math.*;
class Algo
{
private BigInteger a0,b0,x,r, y, gcd;

//constructeur da la classe sup
Algo(BigInteger a, BigInteger b)
{
//declaration und initialisation des Variable
BigInteger x0 = new BigInteger("1");
BigInteger x1 = new BigInteger("0");
BigInteger y0 = new BigInteger("0");
BigInteger y1 = new BigInteger("1");
BigInteger sign = new BigInteger("1");
BigInteger null0 = new BigInteger("0");
BigInteger quotient, neu_x1, neu_y1;
a0 = a;
b0 = b;

while (b.compareTo(null) != 0)
{
r = a.mod(b);
quotient = a.divide(b);
a = b;
b = r;
neu_x1 = x0.add(quotient.multiply(x1));
neu_y1 = y0.add(quotient.multiply(y1));
x0 = x1;
y0= y1;
x1 = neu_x1;
y1= neu_y1;
sign = sign.negate();

}//fin while
gcd = a;
x = sign.multiply(x0);
y = (sign.negate()).multiply(y0);
}//fin contructeur

public BigInteger getA()
{
return a0;
}
public BigInteger getB()
{
return b0;
}

public BigInteger getX()
{
return x;
}

public BigInteger getY()
{
return y;
}

public BigInteger getGcd()
{
return gcd;
}

}//fin classe sup
//sous classe
class Inverse extends EuclAlg
{
private BigInteger r,j,u,c,n,d;//d=gcd,j=a,n=b

public Inverse(BigInteger a,BigInteger b)
{
super ((BigInteger) a,(BigInteger) b);//appel du construteur de la //classe sup
}



void getResidue()
{


j=getA();
n= getB();
System.out.println(n);
d=getGcd();

/
if(d.compareTo(null)==1)
/*************************là il ya erreur**************/
{
for(int i=1; i<n ;i++)
{
//calcul de l'element inverse
u=(1).modInverse(i);


System.out.println("a= "+i+"et son inverse est"+u);

}
}

}

}

Répondre à dikambo

3

 Fab, le 6 nov 2006 à 12:36:11

Première erreur :

Il faut faire un cast de n (BigInteger) en int car l'opérateur '<' ne peut pas comparer un entier avec un objet de type BigInteger.

Deuxième erreur :

Il faut remplacer (1).modInverse(i) par BigInteger.modInverse(Integer.toString(i)).

(voir http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html)

Répondre à Fab