27. november 2000 - 21:18Der er
4 kommentarer og 2 løsninger
Figur
Det er en klasse som skal anvendes i en anden klasse (applikationsprogram). Men er stødt ind i flere problemer på en gang.
class rektangel{ private int bredde; private int hoejde; public rektangel(int b, int h){ bredde = b; hoejde = h; } public rektangel(rektangel figur){//Skulle være en constructer metode,der initaliserer medlems variabler for den pågældende objekt. rektangel=rektangel; } public void set_bredde (int b ){ Text.prompt (\"Indsæt bredde\"); bredde = Text.readline(b); } public int get_bredde () {//skulle læse bredde } public void set_hoejde (int h ){ Tekxt.prompt (\"Indsæt hoejde\"); hoejde = Text.readline(h); } public int get_hoejde () {//skulle læse hoejde } public int areal (){ areal=(h*b); } public int omkreds () { omkreds=((h*2)+(b*2)); } public void tegn (char lodret, char vandret){ System.out.print(lodret); for (int b = 2; b<bredde; b++) System.out.println(vandret); } public boolean identisk(rektangel figur){//Skulle undersøge om X rektanglen er Identisk med den pågældende rektangel. rektangel R1 = new rektangel (h,b); rektangel R2 = new rektangel (h,b);
if (figur.h == this.h && figur.b == this.b) Hun har gemt figures attributter i varaiblerne private int bredde; private int hoejde;
og ikke i .h og .b
så den burde være if (figur.getHoejde() == this.hoejde && figur.getBredde() == this.bredde)
this betyder at det er på den pågældende klasse variablen skal aflæses og ikke f.eks. fra metodens signatur. (kan bruges pga. navnesammenfalde)
f.eks
public class figur { private int bredde;
public void setBredde(int bredde) { bredde = bredde; // Denne går ikke da compilere ikke kan skelne imellem // private int bredde og den fra metode kroppen this.bredde = bredde; // så nu kan den kende forskel imellem de to bredder. }
}
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.