Atestare Java

16
Laboratorul 1 import java.io.*; class Model { float fall; //coeficient de impiedicare float bad; //coeficient de nocivitate String glam; // numele glamuros al modelului double money; //marimea venitului int height, weight, age, contests; //inaltimea, greutatea, virsta, concursuri int top[]; //locuri ocupate la concursuri static int nr; // numarul de modele create //************************** constructori *******************************************// Model () // constructor implicit (fără arametri ) fără introducerea datelor de la tastatură (-1bal) { glam = "Princess"; fall = 0.3f; bad = 0.7f; money = 30000; height=180; weight=60; age=21; contests=3; top = new int[contests]; //alocam memorie pentru vectorul de concursuri– tipul elementelor este int, numărul lor = contests for (int y=0; y<contests; y++) //vectorul de concursuri il umplem cu locul 2 top[y] = 2; nr ++ //se incrementeaza de fiecare data cind este contruit un obiect cu acest constructor } Model (float _fall, float _bad, double money, int _contests) // constructor cu 4 parametri { glam = "Fashion Queen"; height=175; weight=55; age=19; if ( (_fall >= 0) && (_fall <= 1) ) //verificam daca valoarea introdusa este corecta fall=_fall; //daca este corecta, o atribuim cimpului fall

description

java examples

Transcript of Atestare Java

Page 1: Atestare Java

Laboratorul 1import java.io.*;class Model{ float fall; //coeficient de impiedicare

float bad; //coeficient de nocivitateString glam; // numele glamuros al modeluluidouble money; //marimea venituluiint height, weight, age, contests; //inaltimea, greutatea, virsta, concursuriint top[]; //locuri ocupate la concursuristatic int nr; // numarul de modele create

//************************** constructori *******************************************//

Model () // constructor implicit (fără arametri ) fără introducerea datelor de la tastatură (-1bal)

{glam = "Princess";fall = 0.3f;bad = 0.7f;money = 30000;height=180;weight=60;age=21;contests=3;top = new int[contests]; //alocam memorie pentru vectorul de concursuri– tipul

elementelor este int, numărul lor = contestsfor (int y=0; y<contests; y++) //vectorul de concursuri il umplem cu locul 2

top[y] = 2;nr ++ //se incrementeaza de fiecare data cind este contruit un obiect cu acest constructor

}

Model (float _fall, float _bad, double money, int _contests) // constructor cu 4 parametri{

glam = "Fashion Queen";height=175;weight=55;age=19;if ( (_fall >= 0) && (_fall <= 1) ) //verificam daca valoarea introdusa este corectafall=_fall; //daca este corecta, o atribuim cimpului fallif ( (_bad >= 0) && (_bad <= 1) ) // verificam daca valoarea introdusa este corecta

bad=_bad; // daca este corecta, o atribuim cimpului badif (money >= 0) // verificam daca valoarea introdusa este corecta

this.money=money; // daca este corecta, o atribuim cimpului nostru this.money

if ( (_contests >= 0) && (_contests < 50) ) // verificam daca valoarea introdusa este corectacontests = _contests; // daca este corecta, o atribuim cimpului contests

top = new int[contests]; // alocam memorie pentru vectorul de locuri – tipul elementelor este int, numarul lor = contests

for (int i=0; i<contests; i++) // prin ciclu umplem vectorul cu locuri de 3top[i] = 3;

nr ++; //se incrementeaza de fiecare data cind este contruit un obiect cu acest constructor

Page 2: Atestare Java

}

Model (String glam, int h, int w, int a) //constructor cu alti parametri{

this.glam = glam; //atribuim numele glamuros cimpului nostru cu thisfall=0.2f;bad=0.8f;money=50000;if ( (h >= 150) && (h <= 200) ) // verificam valoarea variabilei pentru inaltime

height = h;if ( (w >= 35) && (w <= 90) ) // verificam valoarea variabilei pentru greutate

weight = w;if ( (a >= 13) && (a <= 30) ) // verificam valoarea variabilei pentru varsta

age = a;contests=4;top = new int[contests]; //alocam memorie pentru vectorul de concursuri– tipul

elementelor este int, numărul lor = contestsfor (int i=0; i<contests; i++) //vectorul de concursuri il umplem cu locul 2

top[i] = 2;nr ++; // se incrementeaza de fiecare data cind este contruit un obiect cu

acest constructor}

Model (Model Plagiat) //constructorul de copiere va copia toate campurile obiectului Plagiat{

glam = Plagiat.glam;fall = Plagiat.fall;bad = Plagiat.bad;money = Plagiat.money;height = Plagiat.height;weight = Plagiat.weight;age = Plagiat.age;contests = Plagiat.contests;top = new int[contests]; for (int i=0; i<contests; i++)

top[i] = Plagiat.top[i];nr ++; // se incrementeaza de fiecare data cind este contruit un obiect cu

acest constructor}

//******************* metoda get de acces la cimpuri ************************************8//

public String get_glam() // accesul la cimpul clasei glam { return glam; } // return this.glampublic float get_fall() // accesul la cimpul clasei fall{ return fall; } //return this.fallpublic float get_bad() // accesul la cimpul clasei bad{ return bad; } //return this.badpublic double get_money() // accesul la cimpul clasei money{ return money; } //return this.moneypublic int get_weight() // accesul la cimpul weight{ return weight; } //return this.weightpublic int get_height() //accesul la cimpul height

Page 3: Atestare Java

{ return height; } //return this.heightpublic int get_age() //accesul la cimpul age{ return age; } //return this.agepublic int get_contests() //accesul la cimpul contests{ return contests;} //return this.contests

public int get_top(int index) //acces la elementul vectorului top cu indicele index, adica la pozitia concreta{

if ( (index >= 0) && (index < contests) ) //verificam existenta pozitiei in topreturn top[index]; //daca da, returnam locul cu indicile dat

else //dacă nu – afisam ca loc la asa concurs nu exista{

System.out.println("such contest doesn't exist");return -1;

}}

//************************ metoda set de setare a cimpurilor clasei *********************************//

public void set_glam(String new_glam) //seteaza cimpului clasei glam valoarea noua a parametrului new_glam

{ glam = new_glam; // this.glam = new_glam;}

public void set_fall(float new_fall) { if ( (new_fall >= 0) && (new_fall <= 1) ) // verificare

fall = new_fall; } // daca este corect, introducem valoarea lui in fallpublic void set_bad(float new_bad) { if ( (new_bad >= 0) && (new_bad <= 1) ) // verificare

bad = new_bad; } // daca este corect, introducem valoarea lui in bapublic void set_weight(int new_weight) // seteaza cimpului clasei weight valoarea

noua a parametrului new_weight{ if ( (new_weight >= 35) && (new_weight <= 90) ) // verificare

weight = new_weight; } // daca este corect, introducem valoarea lui in weightpublic void set_height(int new_height) { if ( (new_height >= 150) && (new_height <= 200) ) // verificare

height = new_height; } // daca este corect, introducem valoarea lui in heightpublic void set_age(int new_age)

{ if ( (new_age >= 13) && (new_age <= 30) ) // verificareage = new_age;

}public void set_money( double new_money) { if (new_money >= 0) // verificare

money = new_money;}

public void set_contests( int new_contests) {

if ( (new_contests >= 0) && (new_contests <= 50) && (new_contests != contests) ) //verificare{ int tmp[]=new int [contests];for (int i=0; i<contests; i++) //copiem toate locurile precedente intr-un tablou temporartmp[i]=top[i];top=new int[new_contests]; //realocam memoria

if (new_contests<contests) //copiem inapoi elementele

Page 4: Atestare Java

for (int i=0; i<new_contests;i++)top[i]=tmp[i];elsefor (int i=0; i<contests;i++)top[i]=tmp[i];contests=new_contests;}

}public void set_top(int index, int new_top) //seteaza locul (sub indicele = index) din top cu new_top{

if ( (index >= 0) && (index < contests) && (new_top >= 0) ) //verificaretop[index] = new_top; //daca sunt corecte, introducem locul new_top în pozitia cu

indicile index}

//////////////////////////////////////metoda afisării la ecran a tuturor cimpurilor clasei ////////////////////////

public void paparazzi(){

System.out.println (" Glamourous nickglam " + glam );System.out.println (" Model's falling coefficient " + fall);System.out.println (" Model's evilness " + bad );System.out.println (" Model has " + money + "$" );System.out.println (" Model is " + height + "cm tall, has " + weight + "kg and is " + age + "years

old");System.out.println (" Model had " + contests + " contests" );System.out.print (" Model's places in the contest: " );for (int i=0; i<contests; i++)

System.out.print (" " + top[i] + " "); //afisam locurile ocupate separate prin spatiuSystem.out.println (" \n ----------------------------------------------------------- " );

//**********************************calcularea ratingului modelului dupa media locurilor**********//

public double rating(){ int sum = 0;

for (int i=0; i<contests; i++)sum += top[i]; //calculam suma locurilor modelului cu ciclul for

return (sum/contests); //returnam media aritmetica a locurilor ocupate}

//******************************metoda de calculare a salariului**********************************//

public void promoter(){ double s,p;

s=1000*(this.rating()/(fall*bad));p=1000*(height/weight*age);this.money+=s+p;

}

//**********************************metoda casting ******************************************//public static void casting (Model Selena, Model Miley)

{ if ( Selena.rating() > Miley.rating() ) // daca primul model Selena are rating mai mare decit Miley System.out.println ( Selena.glam + " has a bigger rating than than " + Miley.glam );

Page 5: Atestare Java

if ( Selena.rating() < Miley.rating() ) // daca primul model Selena are rating mai mic decit Miley System.out.println ( Miley.glam + " has a bigger rating than than " + Selena.glam ); else

System.out.println ( Miley.glam + " and " + Selena.glam + " have the same rating " ); // daca ambele modele sunt la fel de scumpe

}

//****************************funcția principală main **************************************//public static void main (String args[]){ System.out.println("\n");

Model Candice = new Model ();Candice.paparazzi(); //afisam totul depsre CandiceModel Miranda = new Model (0.7f, 0.2f, 75600, 6);Miranda.paparazzi(); // afisam datele despre MirandaModel Demi = new Model ( "Sasha Fierce", 178, 59, 20);Demi.paparazzi(); // afisam datele despre DemiModel Xenia = new Model (Miranda); //studenta Xenia fost Plagiată Xenia.paparazzi(); // afisam datele despre Xeniaint nr_modele = 7;Model model_agency[] = new Model[nr_modele] ; //cream si alocam memorie pentru

agentia de modele – vector dinamic din 10 elementemodel_agency[0] = new Model(); model_agency[4] = new Model();model_agency[1] = new Model(0.2f, 0.9f, 38000, 3); model_agency[5] = new Model(0.2f, 0.9f, 38000, 3);model_agency[2] = new Model("Printesa 2", 179, 66, 23); model_agency[6] = new Model("Printesa 6", 179, 66, 23);model_agency[3] = new Model(model_agency[0]);

for (int i=0; i< nr_modele; i++)model_agency[i].paparazzi();

casting(Miranda, Candice); //vedem cine e mai buna: Candice sau Miranda casting(model_agency[6], Demi); casting(model_agency[1], model_agency[5]);casting(model_agency[2], model_agency[3]);System.out.println("\n");double rmax=0;int index_rmax=0;double s=0;for ( int i=0; i< nr_modele; i++) //parcurgem modelele agentiei{if (model_agency[i].rating() > rmax) // daca ratingul modelului curent e mai mare decit rmax

{rmax = model_agency[i].rating(); // atunci memorizam ratingul in rmax

index_rmax = i; // și memorizăm indexul modelului cu cel mai mare rating in index_rmax}

}model_agency[index_rmax].promoter();model_agency[index_rmax].paparazzi();for ( int i=0; i< nr_modele; i++) //parcurgem modelele grupei

s+=model_agency[i].money;System.out.println ("\n The model agency should pay " + s + "$");

Page 6: Atestare Java

System.out.println ("\n We created " + nr + " models")try {

File file = new File("Modele.txt");BufferedWriter output = new BufferedWriter(new FileWriter(file));

for ( int i=0; i< nr_modele; i++){int z=model_agency[i].get_contests();for (int y=0; y<z; y++)

{output.write (" Glamourous nickglam " + model_agency[i].get_glam( ));output.newLine();output.write (" Model's falling coefficient " + model_agency[i].get_fall());output.newLine();output.write (" Model's evilness " + model_agency[i].get_bad() );output.newLine();output.write(" Model has " + model_agency[i].get_money() + "$" );output.newLine();output.write (" Model is " + model_agency[i].get_height() + "cm tall, has " +

model_agency[i].get_weight() + "kg and is " + model_agency[i].get_age() + "years old");output.newLine();output.write (" Model had " + model_agency[i].get_contests() + " contests" );output.newLine();output.write (" Model's places in the contest: " );

output.write (" " + model_agency[i].get_top(y) + " "); //afisam locurile ocupate separate prin spatiu

output.newLine();output.write ("-------------------------------------------");output.newLine();}}

output.close();}

catch ( IOException e ) {e.printStackTrace();

}

}}

Laboratorul 2

******************Interfata Afisare *******************************public interface Afisare {

public abstract void afis();

}

********************8Clasa abstracta de baza Peste************************

public abstract class Peste implements Afisare {

Page 7: Atestare Java

String nume;float greutate; int viteza;

Peste() //constructor fara parametri{

nume="Nemo";greutate=6.5f;viteza=80;

}

Peste (String n, float g, int v) //constructor cu 3 parametri{

nume=n;greutate=g;viteza=v;

}

Peste (String n) //constructor cu un parametru{

nume=n;greutate=7f;viteza=99;

}//***************** implementarea metodei de afisare din interfata ********************// public void afis(){

System.out.println("\n");System.out.println("Nume: "+nume);System.out.println("Greutate: "+greutate);System.out.println("Viteza: "+viteza);

}//************************* metoda get de acces la cimpuri ********************// public String get_nume() // accesul la cimpul clasei nume

{return nume; // return this.nume

} public float get_greutate()

{return greutate;

} public int get_viteza()

{return viteza;

}//************************* metoda set de setare a cimpurilor ********************// public void set_nume(String n) //seteaza cimpului clasei nume valoarea noua a parametrului n

{nume = n; // this.nume = n;

}

Page 8: Atestare Java

public void set_greutate(float g) //seteaza cimpului clasei greutate valoarea noua a

parametrului g{

greutate = g; // this.greutate = g;}

public void set_viteza(int v) //seteaza cimpului clasei viteza valoarea noua a parametrului v

{viteza=v; // this.viteza = v;

} }

*************Clasa Pradator*******************************************8

public class Pradator extends Peste{int dinti;float carne; //cita carne poate minca pradatorul

Pradator(){super();dinti=42;carne=15.5f;}

Pradator (String n, float g, int v, int d) //constructor cu 4 parametri{

super(n,g,v); //apelam constructorul cu 3 parametri din clasa de bazadinti=d;

}//***************** implementarea metodei de afisare din interfata ********************// public void afis(){ super.afis();

System.out.println("Dinti: "+dinti);System.out.println("Carne mincata: "+carne);

} //************************* metoda get de acces la cimpuri ********************// public int get_dinti()

{return dinti;

} public float get_carne()

{return carne;

}//************************* metoda set de setare a cimpurilor ********************// public void set_dinti(int d)

{dinti=d;

} public void set_carne(float c)

Page 9: Atestare Java

{carne=c;

} public void satul(Ierbivor I) {

float cmp; System.out.println("\n"); System.out.println("Voracitatea "+this.nume+" este: "+this.carne+"kg"); System.out.println("Greutatea "+I.nume+" este: "+I.greutate+"kg"); if (this.carne>=I.greutate) {

cmp=this.carne-I.greutate; System.out.println("Pradatorul "+this.nume+"nu s-a saturat la consumarea "+I.nume+"cu un

deficit de "+cmp+"kg de carne"); } else {

cmp=I.greutate-this.carne;

System.out.println("Pradatorul "+this.nume+"s-a saturat la consumarea "+I.nume+"si a mincat cu "+cmp+"kg mai multa carne");

}

} public void accident(Pradator P1, Pradator P2) {

System.out.println("\n"); System.out.println("Viteza"+P1.nume+" este: "+P1.viteza+"km/h si are "+P1.dinti+" dinti"); System.out.println("Viteza"+P2.nume+" este: "+P2.viteza+"km/h si are "+P2.dinti+" dinti"); P1.dinti=P1.dinti-((P1.viteza+P2.viteza)/10); P2.dinti=P2.dinti-((P1.viteza+P2.viteza)/10); System.out.println("Dupa accident, primul are "+P1.dinti+", iar al doilea "+P2.dinti);

} public void aninare(Ierbivor P1, Pradator P2) {

}

}

***********************Clasa Erbivor ********************************************************

public class Ierbivor extends Peste {int cicatrici;final float accelerare=2f; //coeficient de accelerare

Ierbivor() //constructor fara parametri{

super();cicatrici=5;

}

Page 10: Atestare Java

Ierbivor(String s, int c) //constructor cu 4 parametri{

super(s);cicatrici=c;

}

Ierbivor(String s, float g, int v, int c){super(s,g,v);cicatrici=c;}

//***************** implementarea metodei de afisare din interfata ********************// public void afis()

{ super.afis();System.out.println("Cicatrici: "+cicatrici);

} //************************* metoda get de acces la cimpuri ********************// public int get_cicatrici()

{return cicatrici;

}//************************* metoda set de setare a cimpurilor ********************// public void set_cicatrici(int c)

{cicatrici=c;

} public void aninare(Ierbivor I, Pradator P) {

System.out.println("\n"); System.out.println("Atentie, "+I.nume+" a fost atacat de "+P.nume+"!!!"); I.viteza=(int)(I.viteza*accelerare+P.dinti); I.cicatrici+=P.dinti;

} public final void incrucisare (Ierbivor I1, Ierbivor I2, String new_name) {

System.out.println("\n"); System.out.println("Mama: \n"); I1.afis(); System.out.println("\n TaTa: \n"); I2.afis(); int v=(I1.viteza+I2.viteza)/2; float g=(float)(I1.greutate+I2.greutate)/2; int c=(I1.cicatrici+I2.cicatrici)/2; Ierbivor I3=new Ierbivor(new_name, g, v, c); System.out.println("\nCopilul: \n"); I3.afis();

}}

Page 11: Atestare Java

*************************Clasa Pestisor_dE_aur**********************************

public class Pestisor_de_aur extends Ierbivor {

String nationalitate;int dorinte;

Pestisor_de_aur() //constructor fara parametri{

nationalitate="australian";dorinte=3;

}

Pestisor_de_aur(String s, int c, String n, int d) //constructor cu 4 parametri{

super(s,c);nationalitate=n;dorinte=d;

}//***************** implementarea metodei de afisare din interfata ********************//public void afis()

{ super.afis();System.out.println("Nationalitate "+nationalitate);System.out.println("Dorinte indeplinite: "+dorinte);

} //************************* metoda get de acces la cimpuri ********************// public int get_dorinte()

{return dorinte;

} public String get_nationalitate()

{return nationalitate;

} //************************* metoda set de setare a cimpurilor ********************// public void set_nationalitate(String n)

{nationalitate=n;

} public void set_dorinte(int d)

{dorinte=d;

} public void prajeala() {

dorinte= (int)(Math.round(dorinte/2+dorinte)); }

}

Page 12: Atestare Java

*******************Clasa Main***********************8

import java.io.*;public class Main {

public static void main(String[] args) {// TODO Auto-generated method stub

Peste plancton[]=new Peste[6];

plancton[0]=new Pestisor_de_aur("Mimi", 2, "american",5);plancton[1]=new Ierbivor("Kust", 57, 120,3);plancton[2]=new Ierbivor("Brocoli", 13);plancton[3]=new Pradator("Zliuka",90,90,53);plancton[4]=new Pradator("Cruela", 70, 130, 32);plancton[5]=new Ierbivor();

for (int i=0;i<6;i++)plancton[i].afis();

((Pestisor_de_aur)plancton[0]).prajeala();plancton[0].afis();((Ierbivor)plancton[1]).aninare((Ierbivor) plancton[1],(Pradator) plancton[4]);plancton[1].afis();((Pradator)plancton[4]).satul((Ierbivor) plancton[2]);((Ierbivor)plancton[1]).incrucisare((Ierbivor) plancton[1], (Ierbivor) plancton[5], "Bibi");((Pradator)plancton[3]).accident((Pradator) plancton[3], (Pradator) plancton[4]);

try {File file = new File("Accident.txt");BufferedWriter output = new BufferedWriter(new FileWriter(file));output.write("Dupa accident");output.newLine();output.write("Viteza "+plancton[3].get_nume()+" este: "+plancton[3].get_viteza()+"km/h si

are "+((Pradator)plancton[3]).get_dinti()+" dinti");output.newLine();output.write("Viteza "+plancton[4].get_nume()+" este: "+plancton[4].get_viteza()+"km/h si

are "+((Pradator)plancton[4]).get_dinti()+" dinti");output.close();

}catch ( IOException e ) {

e.printStackTrace();}

}

}