Pour les connaisseur(ses) de java!!

cs_anaisa Messages postés 6 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 9 octobre 2003 - 9 oct. 2003 à 15:35
cs_lrequena Messages postés 10 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 juillet 2008 - 18 mai 2005 à 15:56
bonjour tt le monde je chercherais à écrire une fonction donnant la representation bienaire d'un entier sous forme d une chaine de carctère! voici mon mon progrmme:
class Bianire{
public static void main(String[]arg){
char Binaire(int a=clavier.lireInt )
{
String res=' ';
while (a!=0){
if(a mod 2=0){
res= concat("0",res);
}else{
res=concat("1",res);
}
a=a/2;
}
return res;}
}}
class Test{
public static void main (String[]arg){
a=Clavier.lireInt();
a.Binaire;
System.out.print("res:"+res);
}
merci bien!

2 réponses

benohite Messages postés 210 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 18 décembre 2003 7
10 oct. 2003 à 09:44
bonjour,

il y a qqch qui cloche non.
Dans ta classe Binaire tu as bien une methode public static void main mais j ai l impression que tu as redefini dans cette methode une autre methode appellee Binaire ce qui ne me parait pas logique
je te mets si dessous lune petite correction
class Binaire
{
           int a;

          public Binaire(int nbreAConvertir)
          {
                    this.a=nbreAConvertir;
           }
          public String convertirEntier()
          {
                String res=""';
                while (a!=0)
                {
                     if(a mod 2=0)
                     {
                            res= concat("0",res);
                      }
                      else
                     {
                           res=concat("1",res);
                     }
                     a=a/2;
                }
                return res;
        }
}
public class Test 
{
        public static void main (String[]arg)
        {
              int nbreLu = Clavier.lireInt();
             Binaire bin = new Binaire(nbreLu);
             
             System.out.print("resultat:"+bin.convertirEntier(););
}


voila il me semble que c un peu mieux comme ca :-)

benohite
:big)
0
cs_lrequena Messages postés 10 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 24 juillet 2008
18 mai 2005 à 15:56
Je me suis amusé à réécrire une version statique des méthodes de conversion entier<> binaire... j'espere que ça pourra vous servir !

public final class Binaire {
public static String convertir(java.math.BigInteger nombre){
final java.math.BigInteger TWO=java.math.BigInteger.valueOf(2);
String str="";
while(nombre.compareTo(java.math.BigInteger.ZERO)!=0){
if((nombre.remainder(TWO)).compareTo(java.math.BigInteger.ZERO)==0){
str="0"+str;
}else{
str="1"+str;
}
nombre=nombre.divide(TWO);
}
return str;
}
public static java.math.BigInteger convertir(String binaire){
java.math.BigInteger bi=java.math.BigInteger.ZERO;
final int length=binaire.length()-1;
for(int i=length;i>-1;i--){
final int diff=length-i;
if(binaire.charAt(i)=='1'){
bi=bi.add(java.math.BigInteger.valueOf((long)Math.pow(2,diff)));
}
}
return bi;
}
}
0
Rejoignez-nous