Aide en programmation orienté object
Fermé
bifaka
-
23 avril 2006 à 00:08
choubaka Messages postés 39409 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 24 décembre 2024 - 26 avril 2006 à 13:32
choubaka Messages postés 39409 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 24 décembre 2024 - 26 avril 2006 à 13:32
A voir également:
- Aide en programmation orienté object
- Shockwave flash object - Télécharger - Divers Web & Internet
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation logo tortue télécharger - Télécharger - Études & Formations
35 réponses
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
25 avril 2006 à 11:01
25 avril 2006 à 11:01
si tu dois travailler avec deux tableau, rien ne t'empêche de les initialiser tous les deux dans ton constructeur ..
le premier sera initialisé à partir des donées fournies par l'argument, l'autre par défaut...
le premier sera initialisé à partir des donées fournies par l'argument, l'autre par défaut...
j'avais juste oublier de te copier le nom de la classe .
si je fait ca public Registre ( short[] monTableau);
selon l'énoncé du probleme je ne saurai plus comment travaillé avec. Je suis débutante en java. Peux tu inserer ca dans mon programme, peut être`là je vais mieux comprendre. et surtout dans la sous classe comment à partir d 'un constructeur, je peux travailler avec les 2 tableaux comme c'est dit dans l'énoncé.
Dans les 2 autres m´ethodes de la sous classe, j'ai voulu utiliser les elements da la methode set c'est pourquoi j'ai utiliser suer. S'il te plaît montre moi comment je dois le faire.
comment faire pour afficher mon tableau d?
Merci
/** à partir d'ici corriger et à copleter s#il vous plait**/
class deplaceRegistre extends ErzeugeRegistre
{
deplaceRegistre(short aBitArrayLength,short[] myBitArray1)
{
super (aBitArrayLength);
myBitArray1=new short[aBitArrayLength];
myBitArray2=new short[aBitArrayLength];
short index;
for(index=0;index<aBitArrayLength; index ++)
{
if (((myBitArray1[index]==0)||(myBitArray1[index]==1)))
{
myBitArray2[index]=myBitArray1[index];
}
else
{
myBitArray2[index]=0;
}
}
}/* Fin constructeur*/
public short déplace_gd(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
position =i+1;
temp = myBitArray1[i];
myBitArray2[ position] = tempo;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
public short déplace_dg(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
myBitArray2[i -1] = myBitArray1[i]
temp = myBitArray1[0];
myBitArray2[myBitArray2.length] = myBitArray2.length ;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
}/*fin Class*/
/*
*Methode Main
*/
class GereRegistre
{
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
/*
*crée un Ojet
*/
deplaceRegistre bit={0,1,0,1,0,1,0,1}; //il ya là une erreur du compilateur
short[]d=new short[6];
/*
*Initialiaser
*l' Objet
*/
bit= new deplaceRegistre(i,d);
}//fin main
}//fin programme
si je fait ca public Registre ( short[] monTableau);
selon l'énoncé du probleme je ne saurai plus comment travaillé avec. Je suis débutante en java. Peux tu inserer ca dans mon programme, peut être`là je vais mieux comprendre. et surtout dans la sous classe comment à partir d 'un constructeur, je peux travailler avec les 2 tableaux comme c'est dit dans l'énoncé.
Dans les 2 autres m´ethodes de la sous classe, j'ai voulu utiliser les elements da la methode set c'est pourquoi j'ai utiliser suer. S'il te plaît montre moi comment je dois le faire.
comment faire pour afficher mon tableau d?
Merci
/** à partir d'ici corriger et à copleter s#il vous plait**/
class deplaceRegistre extends ErzeugeRegistre
{
deplaceRegistre(short aBitArrayLength,short[] myBitArray1)
{
super (aBitArrayLength);
myBitArray1=new short[aBitArrayLength];
myBitArray2=new short[aBitArrayLength];
short index;
for(index=0;index<aBitArrayLength; index ++)
{
if (((myBitArray1[index]==0)||(myBitArray1[index]==1)))
{
myBitArray2[index]=myBitArray1[index];
}
else
{
myBitArray2[index]=0;
}
}
}/* Fin constructeur*/
public short déplace_gd(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
position =i+1;
temp = myBitArray1[i];
myBitArray2[ position] = tempo;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
public short déplace_dg(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
myBitArray2[i -1] = myBitArray1[i]
temp = myBitArray1[0];
myBitArray2[myBitArray2.length] = myBitArray2.length ;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
}/*fin Class*/
/*
*Methode Main
*/
class GereRegistre
{
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
/*
*crée un Ojet
*/
deplaceRegistre bit={0,1,0,1,0,1,0,1}; //il ya là une erreur du compilateur
short[]d=new short[6];
/*
*Initialiaser
*l' Objet
*/
bit= new deplaceRegistre(i,d);
}//fin main
}//fin programme
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
25 avril 2006 à 11:45
25 avril 2006 à 11:45
il me faudrait le code de ceci
ErzeugeRegistre
ErzeugeRegistre
sorry encore un copier coller qui m'a induit en erreur s'il te plait peut tu completer le programme en t'appuyant sur l'énoncé que je t'ai donné? c'est une prière. insère dans mon programme ce qui lui manque pour que ca fonctionne. n'oublie pas d 'afficher le tableau d
class deplaceRegistre extends Registre.
public class Registre {
/**
* Longueur max du tableau
*/
private static final int MAX_ARRAY_LENGTH=6;
/**
* Mon tableau
*/
private short[] myBitArray={0,1,1,0,0,0};
/**
* Constructeur
* @param aBitArrayLength
*/
public Registre(int aBitArrayLength){
if (aBitArrayLength<=MAX_ARRAY_LENGTH) {
myBitArray=new short[aBitArrayLength];
int index=0;
while (index<aBitArrayLength) {
myBitArray[index]=0;
index++;
}
} else {
System.out.println("Longueur demandee superieure a celle autorisee.");
}
}
/**
* Modifier la valeur d un bit
* @param position
* @param valeur
*/
public void set(int position, int valeur){
if ( !((valeur==0)||(valeur==1)) ){
System.out.println("la valeur "+valeur+" est incompatible avec le type bit.");
}
if ( (position<myBitArray.length) && (position>0) ){
myBitArray[position]=(short) valeur;
} else {
System.out.println("La position "+position+" est en dehors du tableau.");
}
}
/**
* Afficher le tableau
*/
public void get(){
int index=0;
while (index<myBitArray.length) {
System.out.print(myBitArray[index]);
if (index< (myBitArray.length-1) ){
System.out.print("|");
} else {
System.out.println();
}
index++;
}
}
}
/** à partir d'ici corriger et à copleter s#il vous plait**/
class deplaceRegistre extends Registre
{
deplaceRegistre(short aBitArrayLength,short[] myBitArray1)
{
super (aBitArrayLength);
myBitArray1=new short[aBitArrayLength];
myBitArray2=new short[aBitArrayLength];
short index;
for(index=0;index<aBitArrayLength; index ++)
{
if (((myBitArray1[index]==0)||(myBitArray1[index]==1)))
{
myBitArray2[index]=myBitArray1[index];
}
else
{
myBitArray2[index]=0;
}
}
}/* Fin constructeur*/
public short déplace_gd(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
position =i+1;
temp = myBitArray1[i];
myBitArray2[ position] = temp;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
public short déplace_dg(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
myBitArray2[i -1] = myBitArray1[i]
temp = myBitArray1[0];
myBitArray2[myBitArray2.length] = myBitArray2.length ;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
}/*fin Class*/
/*
*Methode Main
*/
class GereRegistre
{
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
/*
*crée un Ojet
*/
deplaceRegistre bit={0,1,0,1,0,1}; //il ya là une erreur du compilateur
short[]d=new short[6];
/*
*Initialiaser
*l' Objet
*/
bit= new deplaceRegistre(i,d);
}//fin main
class deplaceRegistre extends Registre.
public class Registre {
/**
* Longueur max du tableau
*/
private static final int MAX_ARRAY_LENGTH=6;
/**
* Mon tableau
*/
private short[] myBitArray={0,1,1,0,0,0};
/**
* Constructeur
* @param aBitArrayLength
*/
public Registre(int aBitArrayLength){
if (aBitArrayLength<=MAX_ARRAY_LENGTH) {
myBitArray=new short[aBitArrayLength];
int index=0;
while (index<aBitArrayLength) {
myBitArray[index]=0;
index++;
}
} else {
System.out.println("Longueur demandee superieure a celle autorisee.");
}
}
/**
* Modifier la valeur d un bit
* @param position
* @param valeur
*/
public void set(int position, int valeur){
if ( !((valeur==0)||(valeur==1)) ){
System.out.println("la valeur "+valeur+" est incompatible avec le type bit.");
}
if ( (position<myBitArray.length) && (position>0) ){
myBitArray[position]=(short) valeur;
} else {
System.out.println("La position "+position+" est en dehors du tableau.");
}
}
/**
* Afficher le tableau
*/
public void get(){
int index=0;
while (index<myBitArray.length) {
System.out.print(myBitArray[index]);
if (index< (myBitArray.length-1) ){
System.out.print("|");
} else {
System.out.println();
}
index++;
}
}
}
/** à partir d'ici corriger et à copleter s#il vous plait**/
class deplaceRegistre extends Registre
{
deplaceRegistre(short aBitArrayLength,short[] myBitArray1)
{
super (aBitArrayLength);
myBitArray1=new short[aBitArrayLength];
myBitArray2=new short[aBitArrayLength];
short index;
for(index=0;index<aBitArrayLength; index ++)
{
if (((myBitArray1[index]==0)||(myBitArray1[index]==1)))
{
myBitArray2[index]=myBitArray1[index];
}
else
{
myBitArray2[index]=0;
}
}
}/* Fin constructeur*/
public short déplace_gd(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
position =i+1;
temp = myBitArray1[i];
myBitArray2[ position] = temp;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
public short déplace_dg(short position,short wert, short temp)
{
super.set( position,wert);
if ( !((wert==0)||(wert==1)) )
{
System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1.");
return(-1);
}
else{
for (short i = 0; i <=myBitArray1.length ;i++)
{
myBitArray2[i -1] = myBitArray1[i]
temp = myBitArray1[0];
myBitArray2[myBitArray2.length] = myBitArray2.length ;
}
}
return (myBitArray2[myBitArray1.length-1]);
}
}/*fin Class*/
/*
*Methode Main
*/
class GereRegistre
{
public static void main(String args[]) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
/*
*crée un Ojet
*/
deplaceRegistre bit={0,1,0,1,0,1}; //il ya là une erreur du compilateur
short[]d=new short[6];
/*
*Initialiaser
*l' Objet
*/
bit= new deplaceRegistre(i,d);
}//fin main
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
25 avril 2006 à 12:11
25 avril 2006 à 12:11
c'est pas une mince affaire ... je verrais ça cet après-midi ..
je peux déjà te dire que tes méthodes deplace_gd et deplace_dg ne sont pas bonnes du tout ... que ce soit au niveau des arguments aussi bien qu'au niveau de l'algorythme ...
laisse moi un peu de temps pour revoir tout ça ... merci
et pis, j'ai faim :P
je peux déjà te dire que tes méthodes deplace_gd et deplace_dg ne sont pas bonnes du tout ... que ce soit au niveau des arguments aussi bien qu'au niveau de l'algorythme ...
laisse moi un peu de temps pour revoir tout ça ... merci
et pis, j'ai faim :P
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
26 avril 2006 à 07:58
26 avril 2006 à 07:58
désolé mais j'ai été appelé pour une intervention au boulot ...
je termine le code et je le poste
je termine le code et je le poste
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
26 avril 2006 à 08:26
26 avril 2006 à 08:26
je ne comprends pas ce que font tes méthodes deplace_gd et deplace_dg
tu peux les commenter ??
tu peux les commenter ??
deplace_gd veut dire que le deplacement se fait de la guche vers la drite et vis verca . je dois créer deux méthodes(deplace_gd, deplace_gd mais seulement je ne sais si c'est juste )dans ma sous classe (classe fille) qui fait ceci la methode1 fait ceci
tableau1 [0][1][2][3][4][5] j'ajoute un element dans le tableau 1 à la gauche qui me donne le tableau2 comme ca
tableau2 [6][0][1][2][3]][4] le 5 je le retourne à la fonction
Return([5])
la methode2 fait cela
tableau1 [0][1][2][3][4][5] j'ajoute un element dans le tableau 1 à las droite qui me donne le tableau2 comme ca
tableau2 [1][2][3]][4] [5][6] le 0 je le retourne à la fonction
Return([0])
tableau1 [0][1][2][3][4][5] j'ajoute un element dans le tableau 1 à la gauche qui me donne le tableau2 comme ca
tableau2 [6][0][1][2][3]][4] le 5 je le retourne à la fonction
Return([5])
la methode2 fait cela
tableau1 [0][1][2][3][4][5] j'ajoute un element dans le tableau 1 à las droite qui me donne le tableau2 comme ca
tableau2 [1][2][3]][4] [5][6] le 0 je le retourne à la fonction
Return([0])
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
26 avril 2006 à 10:49
26 avril 2006 à 10:49
public class Registre { /** * Longueur max du tableau */ private static final int MAX_ARRAY_LENGTH=6; /** * Mon tableau */ private short[] myBitArray={0,1,1,0,0,0}; /** * Constructeur * @param aBitArrayLength */ public Registre(int aBitArrayLength){ if (aBitArrayLength<=MAX_ARRAY_LENGTH) { myBitArray=new short[aBitArrayLength]; int index=0; while (index<aBitArrayLength) { myBitArray[index]=0; index++; } } else { System.out.println("Longueur demandee superieure a celle autorisee."); } } /** * Modifier la valeur d un bit * @param position * @param valeur */ public void set(int position, int valeur){ if ( !((valeur==0)||(valeur==1)) ){ System.out.println("la valeur "+valeur+" est incompatible avec le type bit."); } if ( (position<myBitArray.length) && (position>0) ){ myBitArray[position]=(short) valeur; } else { System.out.println("La position "+position+" est en dehors du tableau."); } } /** * Afficher le tableau */ public void get(){ int index=0; while (index<myBitArray.length) { System.out.print(myBitArray[index]); if (index< (myBitArray.length-1) ){ System.out.println("|"); System.out.println(""+ myBitArray[index]); } else { System.out.println(); } index++; } } } class DeplaceRegistre extends Registre{ private short[] myBitArray1; private short[] myBitArray2; private short bitArrayLenght1 = 0; public DeplaceRegistre(short aBitArrayLength,short[] BitArray) { super (aBitArrayLength); bitArrayLenght1 = aBitArrayLength; myBitArray1= BitArray; } }/* Fin constructeur*/ public short déplace_gd(short wert) { short temp; if ( !((wert==0)||(wert==1)) ) { System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1."); return(-1); } else{ myBitarray2[0] = wert; for (short i = 0; i < bitArrayLenght1 ;i++) { temp = myBitArray1[i]; myBitArray2[i+1] = temp; } } return myBitArray1[bitArrayLenght1-1]; } public short déplace_dg(short position,short wert, short temp){ if ( !((wert==0)||(wert==1)) ) { System.out.println("la valeur du bit "+wert+" n'est ni 0 ni 1."); return(-1); } else{ myBitarray2[bitArrayLenght1-1] = wert; for (short i = 1; i <= bitArrayLenght1 ;i++) { temp = myBitArray1[i]; myBitArray2[i-1] = temp; } return myBitArray1[0]; } } }/*fin Class*/ /* *Methode Main */ class GereRegistre { public static void main(String args[]) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); /* *crée un Objet */ DeplaceRegistre bit; short[] d= {0,1,0,1,0,1} /* *Initialiaser *l' Objet */ bit= new DeplaceRegistre(6,d); }//fin main }//fin programme
en gros ça doit être ça ... reste à compiler et à étoffer ...
quand je compile , ca me donne 3 erreurs. Les voilà
cannot resolve symbol
symbol : variable myBitarray2
location: class DeplaceRegistre
myBitarray2[0] = wert;
^
cannot resolve symbol
symbol : variable myBitarray2
location: class DeplaceRegistre
myBitarray2[bitArrayLenght1-1] = wert;
^
cannot resolve symbol
symbol : constructor DeplaceRegistre(int,short[])
location: class DeplaceRegistre
bit = new DeplaceRegistre((8,d);
^
et quand je commente les lignes où se trouve les erreurs pour afficher mon tableau avec cette commande: System.out.println(" "+d );
ca me donne un nonsense comme ceci:
[S@1cde100
comment remedier à ca ? surtout comment afficher mon tableau?
merci
cannot resolve symbol
symbol : variable myBitarray2
location: class DeplaceRegistre
myBitarray2[0] = wert;
^
cannot resolve symbol
symbol : variable myBitarray2
location: class DeplaceRegistre
myBitarray2[bitArrayLenght1-1] = wert;
^
cannot resolve symbol
symbol : constructor DeplaceRegistre(int,short[])
location: class DeplaceRegistre
bit = new DeplaceRegistre((8,d);
^
et quand je commente les lignes où se trouve les erreurs pour afficher mon tableau avec cette commande: System.out.println(" "+d );
ca me donne un nonsense comme ceci:
[S@1cde100
comment remedier à ca ? surtout comment afficher mon tableau?
merci
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
26 avril 2006 à 11:44
26 avril 2006 à 11:44
pour les deux première, c'est une fôte de frappe
suffit de changer par "myBitArray2" partout
pour la troisième, dans la classe main ... j'ai mis directement 6 comme valeur (c'est un "int"), déclare le en short dans le méthode main
pour afficher ton tableau, tu dois écrire une méthode analogue à "get" de la classe registre ...
suffit de changer par "myBitArray2" partout
pour la troisième, dans la classe main ... j'ai mis directement 6 comme valeur (c'est un "int"), déclare le en short dans le méthode main
pour afficher ton tableau, tu dois écrire une méthode analogue à "get" de la classe registre ...
Merci beaucoup et bon appetit choubaka . J'apprecie vraiment ce que t'as fait pour moi. C'est énorme. J'aimerai vraiment apprendre à programmer le poo. As tu des liens pour gros nuls ou pour débutants? Je te suis reconnaissante pour tous les conseils que tu me donneras.
Bonne journée.
Bonne journée.
choubaka
Messages postés
39409
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
24 décembre 2024
2 104
26 avril 2006 à 13:32
26 avril 2006 à 13:32
de rien ...
bienvenue sur CCM ...
bienvenue sur CCM ...