Extras din laborator
Câmpurile obligatorii:
- un câmp de tip intreg (int), pentru păstrarea numărul de etaje la fiecare casa;
- un cimp de tip intreg pentru pastrarea nr apartamentelor pe etaj;
- o matrice dinamica, în care se păstrează informaţia despre nr de locuitori in fiecare apartament.
De creat trei tipuri de constructori pentru această clasă (cu alocare dinamică a memoriei):
- constructor standard (fără parametri)
- câteva constructori cu parametri
- constructor de copiere
De creat metodele pentru acces la toate câmpurile clasei şi de modificare a lor.
De creat metoda pentru a afişa la ecran toată informaţia despre casa, adică toate câmpurile din această clasă.
De creat metoda, ce face mutarea in totalitate a unei case in alta casa. Deasemenea fiecare apartament al casei cu toti locatarii se muta in apartamentul corespunzator celeilalte case, apelind functia data. Functia lucreaza numai in cazul in care casa este in intregime liber(adica fara locatari).
De creat metoda, care calculează numărul sumar de locuitori.
În metoda main() de creat(construit) case, utilizând toţi constructorii declaraţi. După creerea fiecărei instantze a clasei “casa”, de afişat la ecran câmpurile cu ajutorul metodei respective, deasemenea de apelat functia ce numara nr total de locuitori a fiecarei case. Rezultatele de afişat la ecran. Deasemenea de mutat citeva case in alte case si afisate la ecran componenta caselor relocuite. Mai apoi de numarat toti locuitorii in casele construite. Rezultatele de afişat la ecran.
Listing (cod) a programului:
import java.io.*;
class Casa
{
String adr;
int nr_etaje;
int nr_ap_etaj;
int loc_ap[][];
static int nr_case;
Casa() throws IOException
{
BufferedReader s= new BufferedReader(new InputStreamReader(System.in));
System.out.print("nIntrodu adresa: ");
adr = s.readLine();
System.out.print("Introdu numarul de etaje: ");
nr_etaje = Integer.parseInt(s.readLine());
System.out.print("Introdu numarul de apartamente pe etaj: ");
nr_ap_etaj = Integer.parseInt(s.readLine());
loc_ap = new int[nr_etaje][nr_ap_etaj];
for(int i=0; i<nr_etaje; i++)
for(int j=0; j<nr_ap_etaj; j++)
{ System.out.print("Introdu nr de locuitori in ap " +(j+1));
System.out.println(" etajul " +(i+1));
loc_ap[i][j]= Integer.parseInt(s.readLine());}
nr_case++;
}
Casa(String adresa, int nr_etaje)
{
adr=adresa;
this.nr_etaje=nr_etaje;
nr_ap_etaj=4;
loc_ap=new int [nr_etaje][nr_ap_etaj];
for(int i=0; i<nr_etaje; i++)
for(int j=0; j<nr_ap_etaj; j++)
loc_ap[i][j]=3;
nr_case++;
}
Casa(Casa Centru)
{
adr=Centru.adr;
nr_etaje=Centru.nr_etaje;
nr_ap_etaj=Centru.nr_ap_etaj;
loc_ap=new int [nr_etaje][nr_ap_etaj];
for(int i=0; i<nr_etaje; i++)
for(int j=0; j<nr_ap_etaj; j++)
loc_ap[i][j]=Centru.loc_ap[i][j];
nr_case++;
}
public int getloc_ap(int x,int y) {
if ((x>=0 && x<nr_etaje) && (y>=0 && y<nr_ap_etaj))
return loc_ap[x][y];
else return -1;
}
public void setloc_ap(int i,int j,int x){
if ( i>=0 && i<nr_etaje && j>=0 && j<nr_ap_etaj && x>0 && x<10)
loc_ap[i][j]=x;
}
public String getadr(){
return adr;
}
public void setadr(String adr){
this.adr = adr;
}
public int getnr_etaje(){
return nr_etaje;
}
public void setnr_etaje(int nr_etaje){
if (nr_etaje>0)
{this.nr_etaje = nr_etaje;
loc_ap = new int[nr_etaje][nr_ap_etaj]; };
Preview document
Conținut arhivă zip
- java1.doc
- java2.doc
- java3.doc
- java4.doc
- java5.doc.doc