atestare java
DESCRIPTION
java examplesTRANSCRIPT
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
}
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
{ 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
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 );
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 + "$");
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 {
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;
}
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)
{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;
}
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();
}}
*************************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)); }
}
*******************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();}
}
}