188600805-TEMA-IP.docx

Embed Size (px)

Citation preview

  • 8/17/2019 188600805-TEMA-IP.docx

    1/55

    TEMA 2

    1.Scrieti o aplicatie Java caredefneste o variabila de tip Stringcare este initializata cu un textpredefnit. Aplicatia afseaza o

    statistica reprezentand numarulde propozitii din text, numarultotalde cuvinte, caracterele careapar in intreg textul si procentulpe care il reprezinta dintotal.import ava.util.StringTo!enizer;public class prob1 "  public static void main(String args[]){  String sir;  sir=("Ana are mere. Maria arepere?");

      int p=;  int i!;  int c=#;  int l;  $or(i=;i%sir.lengt&();i''){  i$(sir.c&arAt(i)==.sir.c&arAt(i)==?sir.c&arAt(i)==*)  p'';  i$(sir.c&arAt(i)== )  c'';  +String al$a;

      al$a=("AanreMmip");  $or(i=;i%al$a.lengt&();i''){  l=;  $or(=;%sir.lengt&();'')  i$(al$a.c&arAt(i)==sir.c&arAt())  l'';

    S,stem.out.println("-aracterul"'al$a.c&arAt(i)'" apare de "'l'" sirepreinta "'((((/oat)l)0sir.lengt&())1#));  +S,stem.out.println("2umarul de

    propoitii3"'p);  S,stem.out.println("2umarul decuvinte3"'c);+

    +2.Se defneste un sir de valoriintregi. Sa sa completeze un altsir #ormat din elementele primului

    sir,dupa cum urmeaza$ se iaelementul de pe prima pozitie,apoi cel a%at la un numardistanta, la doua numere distanta,etc. &aca se aunge in capatulsirului, se continua numaratoarea

    de la inceput.public class main "  public static boolean e4ista(int []poitii){int i;  $or (i=;i%poitii.lengt&;i'')  i$ (poitii[i]==)

    return true;  return $alse;  +public static void main(String[]args){

      int[] vector= {#! 5! 6! 7+;  int [] poitii={!!!+;  int [] sir89nal;int i!v!n=!c;  sir89nal=ne: int[5];  c=;  int pas=!ii=;  :&ile (e4ista(poitii)==true){00la pasul pornesc de la poitia   i$(pas == )  ii=;00parcurg sirul din c in c poitii  $or (i=ii;i%vector.lengt&;i=i'c'#){

    poitii[i]=#;00c creste la 9ecare citire a unui numar  c'';  sir89nal[n]=vector[i];  n'';

    +  v=i;  i$ (vvector.lengt&)  {00daca valoarea lui c este decatlungimea vectorului! poitia de pe carecitesc00trebuie reinitialiata corespunator  v=v < vector.lengt&;  ii = v;  +  pas'';  +  S,stem.out.print("Sirul 9nal este3 ");  $or(i=;i%sir89nal.lengt&;i'')

  • 8/17/2019 188600805-TEMA-IP.docx

    2/55

      S,stem.out.print( sir89nal[i]'" ");++'.Scrieti o aplicatie Java caredefneste o valoare intreaga siapoi calculeaza si afseaza

    reprezentarea ei binara.public class prob' {  public static void main(String args[]){  int nr=5;  int r=;  int rest;  int i=#;  :&ile(nr){  rest=nrroblema7ab5@unction(te4t);+private c&ar[] orig;

      private String modi9ed="";public >roblema7ab5@unction(String

    getorig)

      { t&is.orig=getorig.to-&arArra,();  t&is.prelucrare();  t&is.a9sare();  +private boolean i$vo:el(c&ar v){

      boolean o=$alse;

      c&ar[] vocale={a!A!e!B!i!C!o!D!u!E+;$or(int i=;i%vocale.lengt&;i'')

      {  i$(v == vocale[i])  { o=true;  +  + return o;  +private void prelucrare()

      {  int i;

      $or(i=;i%t&is.orig.lengt&;i'')  {  i$(t&is.i$vo:el(t&is.orig[i]))  { t&is.modi9ed=t&is.modi9ed't&is.orig[i]'p't&is.orig[i];  +

    else{

     t&is.modi9ed=t&is.modi9ed't&is.orig[i];  +  +  +private void a9sare()

      {  S,stem.out.println(t&is.modi9ed);  ++5.6n magazin de suveniruri o#era1( gravuri di#erite cu Turnul Ei7el.8 gravura costa 25 de Eurocen+iiar suvenirurile sunt ob+inutealeator. &e ce suma este nevoiepentru a ob+ine cel pu+in c9te ogravura di#erita de fecare tip+:ndiciu$ 4olosi+i un generator denumere aleatoare. Suma de baniintrodusa ar trebui sa varieze lafecare execu+ie a programului.

  • 8/17/2019 188600805-TEMA-IP.docx

    3/55

    import ava.util.Fandom;public class Main {public static boolean e4ista(int []poitii){int i;  $or (i=;i%poitii.lengt&;i'')

      i$ (poitii[i]==)return true;

      return $alse;+public static void main(String []args){  String []sir={"g#"!"g5"!"g6"!"g7"!"gG"!"gH"!"gI"!"gJ"!"gK"!"g#"!"g##"!"g#5"!"g#6"!"g#7"+;00in vectorul poitii retin elementelecare au $ost generate dea3 #Lgenerat!

    Lnegenerat  int []poitii ={!!!!!!!!!!!!!+;  int suma=!p=;  Fandom generator = ne: Fandom();00cat timp mai am gravuri necitite!genere cate o poitie a unei gravuri  :&ile(e4ista(poitii)==true)  {00imi genere un numar aleator intre si #7 e4clusiv (poitie gravurii)  p=generator.ne4tCnt(#7);  poitii[p]=#;  suma = suma ' 5G;  +  S,stem.out.println("Suma este3"'suma'" Burocenti");++;.a sa re+ina mai u+or numerelede tele#on ale prietenilor, Alex s*ag9ndit sa asocieze fecarei ci#reun set de litere, ca mai os$Se daun numar de tele#on de maxim 12ci#re, un numar n reprezent9ndnumarul de cuvinte ce trebuieverifcate +i apoi cele n cuvinte.Specifca+i daca exista o combina+ie de cuvinte care sa sepotriveasca per#ect pentrunumarul de tele#on. &aca nuexista solu+ie se va af+a$ *

  • 8/17/2019 188600805-TEMA-IP.docx

    4/55

    convertesc in String, leconcateneaza si inverseaza sirulast#el obtinut. Toate metodelereturneaza valori care vor fafsate in #unctia main, prinintermediul unei instante a clasei.

    public class Test { public static void main(String[] args)

    {  S,stem.out.println("Suma este3"'Metode.aduna());  S,stem.out.println("Fadicalul dindi$erenta este3 "'Metode.radical());  S,stem.out.println("Sirul convertit inString este3 "'Metode.convet()'""'Metode.convert5());  S,stem.out.println("Sirul concatenat

    si inversat este3"'Metode.concatenare()); ++public class Metode "  static int 4=#!,=I;public static int aduna(){

      return 4',;  +  public static /oat radical(){  return (/oat) Mat&.sOrt(4L,);  +  public static String convet(){  return Cnteger.toString(4);00converteste un intreg in string  +  public static String convert5(){  return Cnteger.toString(,);  +  public static StringuNerconcatenare(){  String sir =Cnteger.toString(4).concat(Cnteger.toString(,)); 00concateneaareturn ne: StringuNer(sir).reverse();

    00inversarea sirului  ++2.Scrieti o aplicatie Java caredefneste intr*o clasa o matrice devalori %oat. Aplicatia va afsa atatnumarul de elemente nule care

    sunt inconurate de elementenenule cat si pozitia lor in matricepublic class Main "  public static void main(String []args){  Matrice mat = ne:Matrice();00inintialiam un nou obiect

    mat de tipul matrice  int c;  c = mat.2rBlem2ule();00prinmat.2rBlem2ule apelam $unctia iar c iiun contor  S,stem.out.println("2umarul deelemente nule este3 "'c);  mat.a9seaa>oitii();  ++import ava.util.Arra,ist;import ava.util.ist;

    public class Matrice {  private /oat matrice[][] = ne: /oat[][] {{#.IJ$! 5.#$! 6.K$! 7.G7$ +!  {G.57$! H.$! I.57$! J.G5$+!  {#.#$! .$! 7.JI$! G.7G$+!  {I.#K$! 7.IH$! K.G6$! .$++;  private int n = 7;  private int m = 7;  private ist%>oitie poitii = ne:Arra,ist%>oitie();00$ormam o listacu poitiile gasite  public Matrice()  {  +  public int 2rBlem2ule()  {  int c! i! ;  c = ;00contorul il initialia cu dupacare daca o sa gasim un in matricecrestem cu # contorul  $or (i=;i%n; i'')  $or (=;%m;'')  {  i$(i== PP matrice[i][]== PP *=PP *=mL#)00veri9cam elementele depe prima linie di$erite de colturi  i$ (matrice[i][L#] *= PPmatrice[i'#][] *= PP matrice[i]['#]*= PP matrice[i'#]['#]*= PPmatrice[i'#][L#] *=)  { c'';

  • 8/17/2019 188600805-TEMA-IP.docx

    5/55

      >oitie p = ne: >oitie(i!);00daca amgasit un element retinem poitia lui poitii.add(p);00adauga la poitii p  +

    i$(i== PP ==mL# PP matrice[i][]==)00veri9cam elementul de pe

    prima linie din colt dreapta  i$ (matrice[i][L#] *= PPmatrice[i'#][L#] *= PP matrice[i'#][]*=)  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(i*= PP i*=nL# PP ==mL# PPmatrice[i][]==)00veri9camelementele de pe ultima coloana

    di$erite de colturi  i$ (matrice[iL#][] *= PP matrice[iL#][L#] *= PP matrice[i][L#]*= PPmatrice[i'#][L#]*= PP matrice[i'#][]*= )  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(i==nL# PP ==mL# PP matrice[i][]==)00veri9cam elementul de peultima coloana din colt os  i$ (matrice[iL#][] *= PP matrice[iL#][L#] *= PP matrice[i][L#]*=)  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(i==nL# PP *= PP *=mL# PPmatrice[i][]==)00veri9camelementele de pe ultima linie di$eritede colturi  i$ (matrice[i]['#] *= PP matrice[iL#]['#] *= PP matrice[iL#][]*= PPmatrice[iL#][L#]*= PP matrice[i][L#]*= )  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);

      +  i$(i==nL# PP == PP matrice[i][]==)00veri9cam elementul de peprima linie din colt os  i$ (matrice[i]['#] *= PP matrice[iL#]['#] *= PP matrice[iL#][]*=)

      { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(== PP i*= PP i*=mL# PPmatrice[i][]==)00veri9camelementele de pe prima coloanadi$erite de colturi  i$ (matrice[i'#][] *= PPmatrice[i'#]['#] *= PP matrice[i]['#]*= PP matrice[iL#]['#]*= PP

    matrice[iL#][]*= )  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(i== PP == PP matrice[i][]==)00veri9cam primul element  i$ (matrice[i'#][] *= PPmatrice[i'#]['#] *= PP matrice[i]['#]*=)  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  i$(i*= PP i*=nL# PP *= PP *=mL#PP matrice[i][]==)00ver9camelementele din milocul matricii  i$ (matrice[iL#][] *= PP matrice[iL#]['#] *= PP matrice[i]['#]*= PPmatrice[i'#]['#]*= PP matrice[i'#][]*= PP matrice[i'#][L#]*= PPmatrice[i][L#]*= PP matrice[iL#][L#]*=)  { c''; >oitie p = ne: >oitie(i!); poitii.add(p);  +  +  return c;

  • 8/17/2019 188600805-TEMA-IP.docx

    6/55

      +  public voida9seaa>oitii()00parcugem poitiile sile a9sam  {  int i;

      $or (i=;i%poitii.sie();i'')  poitii.get(i).a9seaa();  ++public class ozitie {00retine positiileelementelor nule din matrice  private int i;  private int ;  public >oitie(int v#!int v5)  {  i = v#;  = v5;

      +  public void a9seaa()  {  i'';  '';  S,stem.out.println("("'i'"!"''")");  ++'.Se defneste o clasa care aredrept atribut un sir de valoriintregi. Sa se scrie metodele carecreaza si afseaza un alt sir #ormatdin elementele din sirul initial,luate o singura data, ordonatecrescator. :nstantiati clasa si#olositi metodele create.public class Main {  public static void main(String[] args){  Sir e;00am declarat o clasa de tip Sir  e=ne: Sir();00o noua instanta a claseiSir  e.multime();00apelam metodamultime  e.ordonare();  e.a9sare();  ++public class Sir {private int sir[]=ne: int[]

    {#!5!6!#!G!7!H+;  private int sir5[]=ne: int[#];  public Sir(){

    +  public boolean e4ista(int a){00$eri9cam daca mai avem in sir5elementul din sirboolean b;int i;

      b=$alse;

      $or (i=;i%sir5.lengt&;i''){  i$ (sir5[i]==a){  b=true;  return b;++

      return b;+

      public void multime()00eliminam sinsir elementele care se repeta  {  int n!i;

      n=;  $or (i=;i%sir.lengt&;i'') {  i$ (e4ista(sir[i])==$alse){  sir5[n]=sir[i];  n'';

    +  +  +  public void ordonare()00ordonam sirul{

      int i!au4!;  $or(i=;i%=sir5.lengt&05;i'')00parcurgem sirul pana la umate$or(=sir5.lengt&L

    #;sir5.lengt&05;LL)00parcurgem sirulde la s$arsit pana la umate  i$(sir5[i]sir5[]){  au4=sir5[i];  sir5[i]=sir5[];  sir5[]=au4;  +  +  public void a9sare(){  int i;  $or (i=;i%sir5.lengt&;i'')

    S,stem.out.print(sir5[i]'" ");  +  +(.6n restaurant vrea sa*+ipastreze mereu clien+ii mul+umi+i.entru a realiza acest lucru,fecarecomanda este prioritizata

  • 8/17/2019 188600805-TEMA-IP.docx

    7/55

    dupa cum urmeaza$+ comandadoar cu ceva de baut B prioritate '+ comanda cu ceva de baut +i cevade m9ncat B prioritate 2+ comandadin meniu B prioritate 1 omenzilecu aceea+i prioritate se di#eren+

    iaza -n plus, -n #unc+ie de numarulde persoane de la masa,iar apoi -n#unc+ie de suma totala de pecomanda.entru un set decomenzi, stabili+i ordinea -n caretrebuiesc servi+i clien+ii.Exemplu$omanda 1$ de baut, 1@ persoane,=@ C8< D prioritate 'omanda 2$ de baut, 5 persoane,>@ C8< D prioritate 'omanda '$ de baut +i de m9ncat,2 persoane, 1@@ C8< Dprioritate 2omanda ($ comanda din meniu, 1persoana, ;@ C8< D prioritate 1omanda 5$ de baut +i de m9ncat,2 persoane, ?@ C8< D prioritate28rdinea servirii$ omanda (,omanda ' are valoare mai mare,acela+i nr persF, omanda 5,omanda 1 are numar mai marede persoaneF, omanda 2.import ava.util.1;

    public class roblema( {  public static void main(String[] args){  Fandom rn=ne: Fandom();  -omanda [] comeni=ne: -omanda[#H];  int nrcomeni = #G;  S,stem.out.println("-omeninesortate3");  $or(int i =#;i%=nrcomeni;i'')  {  comeni[i]=ne: -omanda();  comeni[i].prioritate=rn.ne4tCnt(6)'#;  comeni[i].nrpersoane=rn.ne4tCnt(K)'#;  comeni[i].suma=(rn.ne4tCnt(#)'#)1#;

    S,stem.out.println("-omanda nr 3 "'i'" "' comeni[i].a9sare());

    +00sortare dupa prioritate # 5 6

      $or(int i=#;i%=nrcomeni;i'')  $or(int =i'#;%=nrcomeni;'')  {  i$(comeni[i].prioritate

    comeni[].prioritate)  {  -omanda copie = comeni[i];  comeni[i]=comeni[];  comeni[]=copie;  +  +  00sortare dupa nr persoane$or(int i=#;i%=nrcomeni;i'')

      $or(int =i'#;%=nrcomeni;'')  {  i$(comeni[i].prioritate ==

    comeni[].prioritate)i$(comeni[i].nrpersoane %

    comeni[].nrpersoane)  {  -omanda copie = comeni[i];  comeni[i]=comeni[];  comeni[]=copie;  +  +  00sortare dupa suma$or(int i=#;i%=nrcomeni;i'')

      $or(int =i'#;%=nrcomeni;'')  {  i$(comeni[i].prioritate ==comeni[].prioritate PPcomeni[i].nrpersoane ==comeni[].nrpersoane )

    i$(comeni[i].suma %comeni[].suma)  {  -omanda copie = comeni[i];  comeni[i]=comeni[];  comeni[]=copie;  +  +S,stem.out.println("Sortate dupa

    prioritate3");  $or(int i=#;i%=nrcomeni;i'')S,stem.out.println("-omanda nr 3"' i'" "' comeni[i].a9sare());  ++

  • 8/17/2019 188600805-TEMA-IP.docx

    8/55

    public class omanda {  int prioritate=;  int nrpersoane=;  int suma=;  public String a9sare()  {

      return "are prioritatea "'t&is.prioritate '" numar persoane3"'t&is.nrpersoane ' " sumacomanda 3" 't&is.suma;  ++5.Sudo!u$ Se da o matrice ;x;, cepoate con+ine numere de la 1 la ;.Matricea ini+iala este -mpar+ita -n; submatrici de dimensiuni 2x'.entru a matrice de intrare, gasi+inumerele lipsa.Ceguli$+ e fecare linie saucoloane trebuie sa apara osingura data toate numerele de la1 la ;.+ Gn fecare dreptung)itrebuie sa apara toate numerelede la 1 la ;.:ndiciu$

  • 8/17/2019 188600805-TEMA-IP.docx

    9/55

      +  return true ;  +public static void ne4t(int[][] pule!

    int ro:! int col)  {

      i$(col%=7)  solve(pule!ro:!col'#);00apeleaa$unctia solve  else  solve(pule!ro:'#!);  +  public static int solve(int[][] pule!int rand! int col)  {  i$(randG)  {  S,stem.out.println("Solutia gasita3");

      a9seaamatricea(pule);  return ;  +  i$(pule[rand][col] *= )  {  ne4t(pule!rand!col);00recursivitateapeleaa $unctia ne4t  +  else  {  $or(int num = #;num%I;num'')00parcurge numerele care trebuiepuse{

      i$(veri9carand(pule!rand!num) PPveri9cacoloana(pule!col!num) PPveri9cacutia(pule!rand!col!num))  {  00daca avem numar pe poitie atuncitrecem la elementul urmator cu$unctia ne4t  00daca nu avem numar pe poitieatunci apelam $unctia solve si punemun numar care nu a mai $ots pus

    pule[rand][col] = num;  ne4t(pule!rand!col);  +  +  pule[rand][col] = ;  +  return ;

      ++;.Toate comunica+iile -ntre ora+eau cazut. entru a puteacomunica, supravie+uitorii#olosesc cod morse. Scrie+i un

    program care trans#orma opropozi+ie -n cod morse.&espar+irea -ntre litere se #ace cucaracterul H0. &espar+irea -ntrepropozi+ii se #ace cu caracterulHH0.Exemplu$S8S D ... H *** H...public class Main {public static void main(String[] args) { String propoitie = null;

      S,stem.out.println("Sirul initial

    este3 "" '-odmorse.prop(propoitie)'""");S,stem.out.print("Sirul convertit in

    codul Morse este3 "");  -odmorse.converteste("sos . SDS");  S,stem.out.print(""");++public class odmorse {static String prop(String propoitie){String sentence = ne: String("sos.

    SDS");00declararea sirului  return sentence; 00returneaa stringulce contine propoitia  +  static String converteste(Stringsentence){  00declarare vector ce contine litereleconvertite in codul morse  String[] morse ={".L0"!"L...0"!"L.L.0"!"L..0"!".0"!"..L.0"!"LL.0"!"....0"!"..0"! ".LLL0"!"L.L 0"!".L..0"!"LL0"!"L.0"!"LLL0"!".LL.0"!"LL.L0"!".L.0"!"...0"!"L0"!"..L0"!  "...L0"!".LL0"!"L..L0"!"L.LL0"!"LL..0"!"00"!"  00parcurgerea propoitiei  $or(int 4 = ; 4%sentence.lengt&();4''){c&ar c& = sentence.c&arAt(4);00c&repreinta poitia 9ecarui element dinsentence

  • 8/17/2019 188600805-TEMA-IP.docx

    10/55

    00s:itc& case  s:itc&(c&){00caul in care avem insentence a sau A inlocuim litera cuce se a/a pe prima poitie in codulmorse  case a3

      case A3  S,stem.out.print(morse[]); brea;  case b3  case 3  S,stem.out.print(morse[#]); brea;  case c3  case -3  S,stem.out.print(morse[5]); brea  case d3  case R3  S,stem.out.print(morse[6]); brea;  case e3

      case B3  S,stem.out.print(morse[7]); brea;  case $3  case @3  S,stem.out.print(morse[G]); brea;  case g3  case 3  S,stem.out.print(morse[H]); brea;  case &3  case T3  S,stem.out.print(morse[I]); brea;  case i3  case C3  S,stem.out.print(morse[J]); brea;  case 3  case U3  S,stem.out.print(morse[K]); brea;  case 3  case V3  S,stem.out.print(morse[#]); brea  case l3  case 3  S,stem.out.print(morse[##]); brea;  case m3  case M3  S,stem.out.print(morse[#5]); brea;  case n3  case 23  S,stem.out.print(morse[#6]); brea;  case o3  case D3  S,stem.out.print(morse[#7]); brea;

      case p3  case >3  S,stem.out.print(morse[#G]); brea;  case O3  case W3  S,stem.out.print(morse[#H]); brea;

      case r3  case F3  S,stem.out.print(morse[#I]); brea;  case s3  case S3  S,stem.out.print(morse[#J]); brea;  case t3  case X3  S,stem.out.print(morse[#K]); brea;  case u3  case E3  S,stem.out.print(morse[5]); brea;

      case v3  case Y3  S,stem.out.print(morse[5#]); brea;  case :3  case Z3  S,stem.out.print(morse[55]); brea;  case 43  case 3  S,stem.out.print(morse[56]); brea;  case ,3  case Q3  S,stem.out.print(morse[57]); brea;  case 3  case \3  S,stem.out.print(morse[5G]); brea;  case .3  S,stem.out.print(morse[5H]); brea;  case 3  S,stem.out.print(morse[5I]); brea;  +  +  return sentence;  ++

    Tema(1. Scrieti un program Java care definesteo clasa numita Persoana cu urmatoareleatribute: nume o variabila de tip String,protected si x si y variabile intregi,protected. Clasa contine un constructorexplicit fara parametric care initializeazax si y cu 0 si nume cu null. metodafinalize!" va fi folosita pe post de

  • 8/17/2019 188600805-TEMA-IP.docx

    11/55

    destructor in acceptiunea C## si va afisaun mesa$. %oua metode mutatorset&ume!" si set'(!" vor fi definitepentru a reinitializa variabilele din clasa.)nstantiati * obiecte, setati atributelepotrivit unor valori predefinite si afisatiproprietatile obiectelor.

    public class Persoana { protected String nume;  protected int x;  protected int y;

    public Persoana(){  x=0;  y=0;  nume=null;  }

     protected void finalize(){  x=0;  y=0;  nume=null;  Systemoutprintln(!"estructorul

    ruleaza acum!);  Systemgc(); ##$arbace %ollection  }public void set&ume(String nume){

    t'isnume = nume;}public void set(int x* int y){t'isx = x; ##t'is face referire la

    instanta curent  t'isy = y; ##t'is face referire lainstanta curent  }}public class +ain {

    public static void main(String+, args){ 

    Persoana nume- = ne. Persoana();Persoana nume/ = ne. Persoana();nume-set&ume(!%ociota

    lorentina!);  nume-set(/* 1);

    nume/set&ume(!%ociotalorentina!);  nume/set(2* 2);

    Systemoutprintln(!&umele este3!4nume-nume4! si coordonatelesunt3 !4nume-x4! !4nume-y);  Systemoutprintln(!&umele este3

    !4nume/nume4! si coordonatelesunt3 !4nume/x4! !4nume/y);

    nume-finalize();

      nume/finalize();Systemoutprintln(!&umele este3

    !4nume-nume4! si coordonatelesunt3 !4nume-x4! !4nume-y);  Systemoutprintln(!&umele este3!4nume/nume4! si coordonatele

    sunt3 !4nume/x4! !4nume/y);}

    }

    *. %efiniti o clasa Circle cu atribute double public numite x, y,r. -n constructor explicit va

    initializa cele atributeconsiderand valorile unorparametri formali care au numeidentice cu ale atributelorecivalente. -n alt constructor vamodifica doar variabila r si apoi vaapela primul constructor definit.Pentru definirea unui constructorde copiere se va folosi un obiectCircle trimis ca parametru si un altconstructor vid va initializa cu 0.0,x si y cu 1.0, r. )nstantiati cel putin* obiecte Circle folosindconstructorii definiti in clasa.

    /fisati atributele obiectelor.

    class Circle  {  public double x*y*r;

    %ircle(double x*double y* double r)  {  t'isx=x;  t'isy=y;  t'isr=r;

    }%ircle(double r)

      {  t'is(-0*/*r);

      }%ircle(%ircle ext)

      {  t'is(extx*exty*extr);  }

    %ircle()  {  x=0;  y=0;  r=-;  }

    }public class +ain {

      public static void main(String args+,)  {  %ircle cerc-=ne. %ircle(1*-1*/1);##se

    creeaza obiectul  ##afisam caracteristicile obiectuluicreeat  Systemoutprintln(!%onstructorexplicit!); Systemoutprintln(!x=!4cerc-x); Systemoutprintln(!y=!4cerc-y);

  • 8/17/2019 188600805-TEMA-IP.docx

    12/55

      Systemoutprintln(!r=!4cerc-r);%ircle cerc/=ne. %ircle(56);Systemoutprintln(!%onstructor cu

    parametru3!); Systemoutprintln(!x=!4cerc/x); Systemoutprintln(!y=!4cerc/y); Systemoutprintln(!r=!4cerc/r);

      %ircle cerc1=ne. %ircle();  %ircle cerc2;

    cerc2=cerc1;##se copiaza cerc1 incerc2

    Systemoutprintln(!%onstructorcopiere3!); Systemoutprintln(!x=!4cerc2x); Systemoutprintln(!y=!4cerc2y); Systemoutprintln(!r=!4cerc2r);

      }  }. Scrieti o clasa numita*%Coordinates care are * variabileprotected int x si y. -n

    constructor explicit cu * parametriva initializa atributele si metodeleaccesor get'!", get(!"vor returnavalorile lui x, respectiv y. clasanumita %Coordinates, derivata dinprima, va defini o noua variabilaprotected int z. Constructorulexplicit cu parametri va apelaconstructorul clasei *%Coordinatesfolosind metoda super!". nouametoda get!" va fi definita. )nclasa care contine metoda main!"instantiati un obiect *%Coordinatessi doua obiecte %Coordinates,

    folosind niste valori predefinite./fisati atributele obiectelor create.

    class %*Coordinatesprotected int x*y;"/%oordinates(int x* int y)  {  t'isx=x;

    t'isy=y;  }void get()  {  Systemoutprintln(!7aloare lui x

    este3 !4x);  }void get()

      {  Systemoutprintln(!7aloare lui yeste3 !4y);  }}class %Coordinates extends%*Coordinates

    {protected int z;"1%oordinates(int x* int y* int z)  {  super(x*y);  t'isz=z;  }

    void get8()  {  Systemoutprintln(!7al lui z3!4z);  }} ##clasa ce instantiaza clasa"/%oordinatespublic class +ain{

    public static void main(String a+,)  {  "/%oordinates ob-=ne."/%oordinates(9*2);  "1%oordinates ob/=ne.

    "1%oordinates(2*5*6);Systemoutprintln(!%oordonatele

    obiectului - sunt3 !);  ob-get();

    ob-get();Systemoutprintln(!%oordonatele

    obiectului / siunt3 !);  ob/get();  ob/get();  ob/get8();  }}2. %efiniti o interfata numita S2illscare defineste prototipurile

    functiilor intget3unning4ime!int laps", intgetS5imming4ime!intpool6lengts" si Stringget4ime7ormat!int milliseconds".)nterfata mai contine constanteleint timePer8ap si inttimePerPool8engt. 4oate valorileintregi mentionate mai susreprezinta un numarde milisecunde. %efiniti * clase3unner si S5immer careimplementeaza interfata S2ills.fiecare clasa stoceaza in niste

    variabile specifice numarul de turede pista sau de lungimi de bazinprecum si numele sportivului.Clasele vor oferi implementarispecifice metodelor mostenite dininterfata. Creati cateva instante aleclaselor definite siordonati alergatorii si inotatoriidupa timpii obtinuti. 8a afisare

  • 8/17/2019 188600805-TEMA-IP.docx

    13/55

    timpii vor respecta formatul:mm:ss:ms.9

    public interface S2ills {public int get:unningime(int laps);

      public int getS.immingime(intpool105;}public class :unner implements S?ills {

      int numarul

  • 8/17/2019 188600805-TEMA-IP.docx

    14/55

  • 8/17/2019 188600805-TEMA-IP.docx

    15/55

    abstracte. a treia clasa numita

  • 8/17/2019 188600805-TEMA-IP.docx

    16/55

    ((%oder)d)"ecodareHnteger(>) 4 !,!);  Systemoutprintln(!"o.ncasting!);  %oder e = ne. Kxplicit%oder();  %oder f = ne.Kxplicit%oderKxtended();  Systemoutprintln(!StringEul codateste3 +! 4

    ((Kxplicit%oder)e)%odareString(!CJCJ!) 4 !,* iar stringEul decodat este +!4((Kxplicit%oder)e)"ecodareString(!CJCJ!) 4 !,!);  Systemoutprintln(!Hntregul codateste3 +! 4((Kxplicit%oder)e)%odareHnteger(1/) 4!,* iar intregul decodat este +! 4((Kxplicit%oder)e)"ecodareHnteger(1/)

    4 !,!);  Systemoutprintln(!StringEul codateste3 +! 4((Kxplicit%oderKxtended)f)%odareString(!333!) 4 !,* iar stringEul decodat este

    +!4((Kxplicit%oderKxtended)f)"ecodareString(!333!) 4 !,!);  Systemoutprintln(!Hntregul codateste3 +! 4((Kxplicit%oderKxtended)f)%odareHnteger(69) 4 !,* iar intregul decodat este+! 4((Kxplicit%oderKxtended)f)"ecodareHnteger(69) 4 !,!);

    }}>. Scrieti o clasa a carei instantereprezinta un ?ntreg pacet de

    carti. Cartile de $oc au doar *proprietati: rang si culoare.@erificati daca un set de artiextrase aleator din pacet potrezulta ?n carti crescatoare, carti e aceeasi culoare sau cartide acelasi rang. Cartile extrase nuse pun ?napoi ?n acet. %aca programul gaseste astfel decarti, acestea vor fi afisate. %acanu, programul afiseaza:public class Problema> {  public static void main(String+, args){

    %arteIoc pac'et=ne. %arteIoc();for(int i=-;iC=-9;i44)

      {

      int +, carte-=pac'etextragecarte();  int +, carte/=pac'etextragecarte();  int +, carte1=pac'etextragecarte(); #####verificare 1 carti crescatoare

      ##Systemoutprintln(!%arti in ordinecrescatoare dupa rang3!);  if(carte-+-,Ccarte/+-, NN

    carte/+-,Ccarte1+-,)  {  Systemoutprintln(!1 carti in ordinecrescatoare3!4carte-+0,4!!4carte-+-,4!OOO!4carte/+0,4!!4carte/+-,4!OOO!4carte1+0,4!!4carte1+-,);

      }  else  {  Systemoutprintln(!E&E!);  }import Iavautil@;public class Carte$oc {  int count=0;  int pac'et+,+, =ne. int +5,+-B,;

      :andom rand =ne. :andom();public int get%uloare()

      {  return t'israndnextHnt(2)4-;  }

      public int get:ang()  {  return t'israndnextHnt(-1)4/;  }

    public int+, extragecarte()  {  int culoare=t'isget%uloare();  int rang=t'isget:ang();

    if( t'iscount C 5/ )  {  .'ile(t'ispac'et+culoare,+rang,==-)  {  culoare=t'isget%uloare();

      rang=t'isget:ang();  }  t'ispac'et+culoare,+rang,=-;  t'iscount44;  }  int+, carte=ne. int+/,;  carte+0,=culoare;  carte+-,=rang;  return carte;  }}

    Tema 5011.4olositi pac)etul cc pentru

    a citi de la tastaturaelementele unei matrice de 'x'numere intregi. 4olosindoperatorul pe biti I,determinate care sunt pozitiileelementelor impare si afsatinumarul lor.Himport ava.lang.String;import cc.1;

  • 8/17/2019 188600805-TEMA-IP.docx

    17/55

    class roblema1{public static void main(String args[])  {  int n=!i!;  int m[][]=ne: int[6][6];00declarare

    matrice de 646  S,stem.out.println("Cntroducetielementele matricii3");  $or(i=;i%6;i''){  $or(=;%6;'')  m[i][]=-onsole.in.readCnt();00citirede la tastatura  +  S,stem.out.print("Matriceaintrodusa este3");  00a9sare matrice  $or(i=;i%6;i'')

    {  S,stem.out.print("n");  $or(=;%6;'')  {  S,stem.out.print(m[i][]'" ");  i$(m[i][]

  • 8/17/2019 188600805-TEMA-IP.docx

    18/55

      Scanner input8double = ne:Scanner(S,stem.in);  double option8double =input8double.ne4tRouble();  return option8double;+

    +00clasa principalaimport ava.lang.String;import Eser>acage.1;00importpacageclass roblema2{public static void mainStringargsLF  {

    String string[]=ne:String[5];00declarare sir string

    int intreg[]=ne: int[5];  /oat /otant[]=ne: /oat[5];  double dublu[]=ne: double[5];

    String continua;00/ag  int continua5;  /oat continua6;  double continua7;  int n=;00contor stringuri

    do{  S,stem.out.print("Cntroduceti un sirde la tastatura3 ");  string[n]=Fead.FeadVe,bd();00citirein string  n''; S,stem.out.print("Roriti sa maiintroduceti un sir? [Ra02u] ");  continua=Fead.FeadVe,bd();00citirein /ag  +:&ile(continua.eOualsCgnore-ase("da"));  S,stem.out.println("Sirurileintroduse a9sate in ordineal$abetica sunt3");

    $or(int i=;i%nL#;i'')  $or(int =i'#;%n;'')  {  i$(string[i].compareXo(string[]))  {  String au4=string[i];  string[i]=string[];  string[]=au4;

      +  +00sortarea al$abetica a sirurilor  $or(int i=;i%n;i''){  S,stem.out.println(string[i]);00a9sareasirurilor introduse  +

    00pentru intregi  do{ S,stem.out.print("Cntroduceti unintreg de la tastatura3 ");intreg[n]=Fead.FeadCnt();00citire instring n''; S,stem.out.print("Roriti sa maiintroduceti un intreg? [Ra02u] "); continua5=Fead.FeadCnt();00citire in/ag +

    :&ile(continua.eOualsCgnore-ase("da"));  S,stem.out.println("Cntregii introdusia9sati in ordine crescatoare sunt3");$or(int i=;i%nL#;i'')

      {  i$(intreg[i]intreg[i'#])  {  int au4=intreg[i];  intreg[i]=intreg[i'#];  intreg[i'#]=au4; +  +  $or(int i=;i%n;i''){ S,stem.out.println(intreg[i]);00a9sareaintregilor introdusi  +00pentru /oat

      do{  S,stem.out.print("Cntroduceti un/oat de la tastatura3 ");  /otant[n]=Fead.Fead@loat();00citirein string  n'';  S,stem.out.print("Roriti sa maiintroduceti un /oat? [Ra02u] ");  continua6=Fead.Fead@loat();00citirein /ag  +:&ile(continua.eOualsCgnore-ase("da"));

  • 8/17/2019 188600805-TEMA-IP.docx

    19/55

    S,stem.out.println("@lotantii introdusia9sati in ordine crescatoare sunt3");$or(int i=;i%nL#;i''){i$(/otant[i]/otant[i'#]){

    /oat au4=/otant[i];/otant[i]=/otant[i'#];/otant[i'#]=au4;  ++$or(int i=;i%n;i''){ S,stem.out.println(/otant[i]);00a9sarea/otantilor introdusi+00pentru doubledo{

      S,stem.out.print("Cntroduceti undouble de la tastatura3 ");  dublu[n]=Fead.FeadRouble();00citirein string  n'';  S,stem.out.print("Roriti sa maiintroduceti un /oat? [Ra02u] "); continua7=Fead.FeadRouble();00citirein /ag  +:&ile(continua.eOualsCgnore-ase("da"));S,stem.out.println("Roubles introdusia9sati in ordine crescatoare sunt3");$or(int i=;i%nL#;i''){i$(dublu[i]dublu[i'#]){double au4=dublu[i];dublu[i]=dublu[i'#];dublu[i'#]=au4;  ++$or(int i=;i%n;i''){S,stem.out.println(dublu[i]);00a9sareadoubles introdusi+ ++01'. &efniti un pac)et caredeclara inter#ata :nt1 2variabile intregi si o metoda

    numita sumF si implementeazaclasa lass1 2 variabileprotected de tip %oat,constructor, metode accesor simutator pentru variabilele dinclasaF. :mplementati un alt

    fsier sursa care adauga inacelasi pac)et o noua inter#atanumita :nt2 2 variabile de tipdouble si o metoda numitaproductF. ntr*un fsier sursadistinct, importati tot cecontine pac)etul defnit anteriorsi defnite o clasa numita lass2care este derivata din lass1 sicare #oloseste ambele inter#ete:nt1 si :nt2. :mplementarilemetodelor din inter#etereturneaza rezultatulcorespunzator prin aplicareaasupra variabilelor din lass1 sidin ambele inter#ete. :nstantiatilass2 si aplicati metodeledisponibile asupra unorvariabile citite de la tastatura.H00Cnter$ata Cnt#pacage >G;public inter#ace :nt1

    {  int a=7;  int b=G;  int sum(int 4!int ,);  +00clasa -lass#import >G.1;public class lass1 implements:nt1  {  /oat c;  /oat d;  -lass#()  {  c=(/oat)5.6765;  d=(/oat)I.66K;  +

    public -lass#(/oat c!/oat d)  {  t&is.c=c;  t&is.d=d;  +

  • 8/17/2019 188600805-TEMA-IP.docx

    20/55

      public void displa,()  { S,stem.out.println("Ati introdusnumerele reale3 "'c'" si 'd);  +

    public void set(/oat 4!/oat ,)

      {  c=4;  d=,;  +

    public int sum(int 4!int ,)  {  return a'b;  +  +00Cnter$ata Cnt5pacage >G;public inter#ace :nt2

    {  double e=K.6;  double $=J.#;  double product(double 4! double,);

    +00-lass5 derivara din -lass#implementeaa Cnt5import ava.lang.String;import Eser>acage.1;import >G.1;public class lass2 extendslass1  implements Cnt5{-lass5(){  super();  +public static void main(String args[])  {  -lass5 ob#= ne: -lass5();  S,stem.out.println("Cntroduceti douanumere reale3");  /oat a!b;  S,stem.out.print("a=");  a=(/oat)Fead.FeadRouble();  S,stem.out.print("b=");  b=(/oat)Fead.FeadRouble();  ob#.set(a!b);

    S,stem.out.println(">relucrarenumere /oat din -lass# introdusede la tastatura*");  ob#.displa,();

    S,stem.out.println(">relucrareanumerelor "'-lass#.a'" si"'-lass#.b'" de tip intreg din Cnt#implementata cu -lass#*");  S,stem.out.println("Suma lor este3"'ob#.sum(-lass#.a!-lass#.b));

    S,stem.out.println(">relucrareanumerelor "'-lass5.e'" si"'-lass5.$'" de tip double din Cnt5implementata cu -lass5*");  S,stem.out.println(">rodusul loreste3"'ob#.product(-lass5.e!-lass5.$));  +public double product(double 4!double ,)  {  return 41,;

      + +015. &efniti un pac)et Javanumit operator care contineclasa 8perations. :n clasaexista metode care ilustreaza#unctionarea operatorilor binarisi unari N, *, , H, I, O, PP,, , NN, ** atunci candsunt aplicati asupra unorvariabile primite ca parametri.Metodele afseaza operanzii sirezultatul in binar si returneazarezultatul ca valoare intreaga.6tilizati pac)etul creat pentru aprelucra doua valori intregipredefnite. H00pac&etulpacage Dperator;public class 8perations " public int >lus(int a! int b)

      {  00operatorul '  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este'! iar suma lor in binar este3"'Cnteger.toinar,String(a'b));  return a'b;  +public int Minus(int a! int b)

      {

  • 8/17/2019 188600805-TEMA-IP.docx

    21/55

      00operatorul L  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul esteL! iar di$erenta lor in binar este3"'Cnteger.toinar,String(aLb));

      return aLb;  +public int Dri(int a! int b)

      {  00operatorul 1  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este1! iar produsul lor in binar este3"'Cnteger.toinar,String(a1b));  return a1b;  +

     public /oat Cmpartire(int a! int b)

      {  00operatorul 0  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este0! iar catul lor in binar este3 ");  return a0b;  +public int Si(int a! int b)

      {  00operatorul P  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul esteP! iar P lor in binar este3 ");  return aPb;  +public int Sau(int a! int b )

      {  00operatorul   S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este! iar lor in binar este3 ");  return ab;  +public int ReplStanga(int a! int b )

      {  00operatorul %%

      S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este%%! iar %% lor in binar este3 ");  return a%%b;  +

    public int ReplRreapta(int a! int b)  {  00operatorul   S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este! iar lor in binar este3 ");  return ab;  +public int S&i$tare(int a! int b)

      {  00operatorul

      S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este! iar lor in binar este3 ");  return ab;  +public int Cnc(int a! int b)

      {  00operatorul ''  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul este''! iar '' lui "'a'" in binareste3 ");  return ''a;  +public int Rec(int a! int b)

      {  00operatorul LL  S,stem.out.println("Dperanii sunt"'a'" si "'b);  S,stem.out.println("Dperandul esteLL! iar LL lui "'b'" in binar este3");  return LLb;  ++00clasa principalaimport Dperator.1;public class Mainlass "public static void main(String[]

    args){

  • 8/17/2019 188600805-TEMA-IP.docx

    22/55

      int a = 7;  int b = H;Dperations ob = ne: Dperations();

      S,stem.out.println("Suma in intreg3"'ob.>lus(a! b));  S,stem.out.println("Ri$erenta in

    intreg3 "'ob.Minus(a! b));  S,stem.out.println(">rodusul inintreg3 "'ob.Dri(a! b));  S,stem.out.println("Cmpartirea inintreg3 "'ob.Cmpartire(a! b));  S,stem.out.println("Si in intreg3"'ob.Si(a! b));  S,stem.out.println("Sau in intreg3"'ob.Sau(a! b));  S,stem.out.println("%% in intreg3"'ob.ReplStanga(a! b));  S,stem.out.println(" in intreg3

    "'ob.ReplRreapta(a! b));  S,stem.out.println(" in intreg3"'ob.S&i$tare(a! b));  S,stem.out.println("'' in intreg3"'ob.Cnc(a! b));  S,stem.out.println("LL in intreg3"'ob.Rec(a! b));+

    +01;. &efniti un pac)etanotimpuri. reati in pac)et onoua inter#ata, anotimp, caredefneste metodele voiduloareF, void TemperaturaF sivoid AfseazaF. &efniti ( claserimavara, Qara, Toamna si:arna, care sa implementezeinter#ata anotimp si apoi sasuprascrie metodele dininter#ata cu metodeleuloarestring culoareF siTemperaturastring temperaturaF.reati un nou fsier, in pac)etulde#ault, importati pac)etulanotimpuri si creati cate unobiect de tipul rimavara, Qara,Toamna si :arna. Setatitemperatura si culoarea pentrufecare anotimp siafsati rezultatele obtinute. 1000pac&etpac!age AnotimpuriR

    public inter#ace Anotimp "void -uloare();

      void Xemperatura();  void A9seaa();+00clasa >rimavara! implementeaa

    Anotimppacage Anotimpuri;public class rimavaraimplements Anotimp "String culoare = null;

      String temperatura = null;public void -uloare(String culoare)

      {S,stem.out.println("-uloarea

    anotimpului este3 "'culoare'".");  +public void Xemperatura(String

    temperatura)  {  S,stem.out.println("Xemperaturaeste de3 "'temperatura'" grade-elsius.");  +public void A9seaa()

      {  S,stem.out.println("Anotimpul este>rimavara! cu urmatoarelecaracteristici3");  +Dverride

      public void -uloare() {  00 XDRD AutoLgenerated met&odstub+

      Dverride  public void Xemperatura() {  00 XDRD AutoLgenerated met&odstub  +00clasa Yara! implementeaaAnotimppacage Anotimpuri;public class Qara implementsAnotimp "String culoare = null;

      String temperatura = null;public void -uloare(String culoare)

      {

  • 8/17/2019 188600805-TEMA-IP.docx

    23/55

      S,stem.out.println("-uloareaanotimpului este3 "'culoare'".");  +public void Xemperatura(String

    temperatura)  {

      S,stem.out.println("Xemperaturaeste de3 "'temperatura'" grade-elsius.");  +public void A9seaa()

      {  S,stem.out.println("Anotimpul esteYara! cu urmatoarelecaracteristici3");  +  Dverride  public void -uloare() {

      00 XDRD AutoLgenerated met&odstub+

      Dverride  public void Xemperatura() {  00 XDRD AutoLgenerated met&odstub+

    +00clasa Xoamna! implementeaaAnotimppacage Anotimpuri;

    public class Toamna implementsAnotimp "String culoare = null;

      String temperatura = null;public void -uloare(String culoare)

      {S,stem.out.println("-uloarea

    anotimpului este3 "'culoare'".");  +public void Xemperatura(String

    temperatura)  {  S,stem.out.println("Xemperaturaeste de3 "'temperatura'" grade-elsius.");  +public void A9seaa()

      {

      S,stem.out.println("Anotimpul este Xoamna! cu urmatoarelecaracteristici3");  +  Dverride  public void -uloare() {

      00 XDRD AutoLgenerated met&odstub+

      Dverride  public void Xemperatura() {  00 XDRD AutoLgenerated met&odstub+

    +00clasa Carna! implementeaaAnotimppacage Anotimpuri;

    public class :arna implementsAnotimp "String culoare = null;

      String temperatura = null;public void -uloare(String culoare)

      {S,stem.out.println("-uloarea

    anotimpului este3 "'culoare'".");  +public void Xemperatura(String

    temperatura)  {  S,stem.out.println("Xemperaturaeste de3 "'temperatura'" grade-elsius.");  +public void A9seaa()

      {  S,stem.out.println("Anotimpul esteCarna! cu urmatoarelecaracteristici3");  +  Dverride  public void -uloare() {  00 XDRD AutoLgenerated met&odstub+

      Dverride  public void Xemperatura() {  00 XDRD AutoLgenerated met&odstub+

  • 8/17/2019 188600805-TEMA-IP.docx

    24/55

    +00clasa principalaimport Anotimpuri.1;public class Mainlass "public static void main(String[]

    args){

      00declarare obiecte de tip>rimavara! Yara! Xoamna! Carna sisetarea lor.  >rimavara ob# = ne: >rimavara();  ob#.A9seaa();  ob#.-uloare("Yerde desc&is");  ob#.Xemperatura("5");

    S,stem.out.println();  Yara ob5 = ne: Yara();  ob5.A9seaa();  ob5.-uloare("Yerde");  ob5.Xemperatura("6G");

    S,stem.out.println();  Xoamna ob6 = ne: Xoamna();  ob6.A9seaa();  ob6.-uloare("Maro");  ob6.Xemperatura("#G");

    S,stem.out.println();  Carna ob7 = ne: Carna();  ob7.A9seaa();  ob7.-uloare("Yerde");  ob7.Xemperatura("6G");  ++

    Tema;#. ititi de la tastatura o seriede perec)i de numere int,%oat, etc.F si incercati saobtineti catul impartirii lor.Afsati rezultatul.Tratati exceptiade tip Arit)meticException datade incercarea de a imparti unnumar la @.:n modulul catc)a#erent, dati impartitorului ovaloare predefnita si apoiafsati rezultatulimpartirii.Cescrieti codul demai sus #olosind o metodanumita divideF caresemnalizeaza exceptia de tipArit)meticException. :n #unctiamainF, tratati exceptiasemnalizata de metoda.import ava.io.RataCnputStream;

    import ava.lang.String;import ava.io.CDB4ception;public class Tema2

    {  public static voidmain(String args[])

      {  int n!m;  /oat p!O;  String numStr#=null;  String numStr5=null;  tr, {  S,stem.out./us&();  RataCnputStreamdis=ne:RataCnputStream(S,stem.in); S,stem.out.println("Cntroduceti doua

    numere intregi3"); numStr#=dis.readine(); numStr5=dis.readine(); n=Cnteger.parseCnt(numStr#); m=Cnteger.parseCnt(numStr5);  tr,  {  int re=n0m; S,stem.out.println(n'" 3 "'m'" ="'re);  + catc&(Arit&meticB4ception e)  { S,stem.out.println("Cmpartitor *");  +

    +catc& (CDB4ception ioe)

      { S,stem.out.println(ioe.toString());  S,stem.e4it(#);  +  00incercare pentru /oat  tr,  {

  • 8/17/2019 188600805-TEMA-IP.docx

    25/55

      S,stem.out./us&();  RataCnputStreamdis=ne:RataCnputStream(S,stem.in); S,stem.out.println("Cntroduceti doua

    numere reale3"); numStr#=dis.readine(); numStr5=dis.readine(); [email protected]@loat(numStr#); [email protected]@loat(numStr5);  tr,  { 

    i$(O==)S,stem.out.println("Cmpartitor*");  else

    {  /oatre=p0O; S,stem.out.println(p'" 3 "'O'" ="'re);  +  + catc&(Arit&meticB4ception e)  { S,stem.out.println("Cmpartitor *");  +  +

    catc& (CDB4ception ioe)  { S,stem.out.println(ioe.toString());  S,stem.e4it(#);  +  +  +1Cescrieti codul problemeianterioare #olosind o metodanumita divideF caresemnalizeazaexceptia de tipArit)meticException. :n #unctia

    mainF, tratati exceptiasemnalizata demetoda.Himport ava.io.RataCnputStream;import ava.lang.String;import ava.io.CDB4ception;

    public class Tema'{

      public double Rivide(double4!int )t&ro:s Arit&meticB4ception!B4ception  {  4=40;  i$(==)t&ro: ne:B4ception("din Rivide");  return 4;  +

      public static void main (String[]args)  {  double ,;  Xema cls=ne: Xema();  int n!m;  String numStr#=null;  String numStr5=null;  tr,  {  $or(int i=;i%7;i'')  { S,stem.out./us&();  RataCnputStreamdis=ne:RataCnputStream(S,stem.in); S,stem.out.println("2umerele intregisunt 3"); numStr#=dis.readine(); numStr5=dis.readine(); n=Cnteger.parseCnt(numStr#); m=Cnteger.parseCnt(numStr5);  tr,  { ,=cls.Rivide(n!m);

  • 8/17/2019 188600805-TEMA-IP.docx

    26/55

     S,stem.out.println("Cmpartitorul este3"'m); S,stem.out.println("-atul este3 "',);  +

     catc&(Arit&meticB4ception e)  { S,stem.out.println("Cmpartire cuero***(geniule)");  m=#;  +

    catc&(B4ceptione)

    e.printStacXrace();  +  +

    +  catc& (CDB4ception ioe)  { S,stem.out.println(ioe.toString());  S,stem.e4it(#);  +  +  +012.&efniti o clasa de tipexceptie derivata dintr*o clasaspecifca, responsabila cutratarea exceptiilor care aparla incercarea de a converti invalori numerice anumitevariabile de tip String carecontin date non*numerice.4olositi aceasta clasa pentru amonitoriza o secventa de codcare apartine #unctiei mainF,citeste de la tastatura valoareanon*numerica a unei variabilede tip String si apoi incearcasa o converteasca intr*unnumar intreg. Afsati continutulstivei program din zonaexceptiei aparute.import ava4.s:ing.UDption>ane;

    class derivata

  • 8/17/2019 188600805-TEMA-IP.docx

    27/55

      brea;  +  +  i$ (b==true)

    {  int

     =Cnteger.parseCnt(s);  UDption>ane.s&o:MessageRialog(null!"Ati introdus numarul integer3 "');  +  else t&ro: ne:2umber@ormatB4ception("Stringul nueste numar! nu poate 9convertit*");  +00end convert  +00end class derivata82@Bclass Xema700clasa Xema7! contine

    main  {  public static void main(Stringargs[])00metoda main  {  derivata82@B 4=ne:derivata82@B();00obiect nou al claseide9nite  String st=4.read();00apelammetoda de citire  tr,00se incearca conversia  {  4.convert(st);  +  catc&(2umber@ormatB4ception e)00daca nua reusit conversia! se da mesa dee4ceptie  {

    e.printStacXrace();00sea9seasa stac trace

     UDption>ane.s&o:MessageRialog(null!e.getMessage());  S,stem.e4it();  +  S,stem.e4it();  +00end main  +00end class Xema01 '.Scrieti o aplicatie Java careimplementeaza un bloc de codcare poate sa genereze exceptii

    aritmetice, de tip :H8, dedepasire a indecsilor deaccesare a elementelor dintr*unsir sau de orice alt tip.Afsati mesae semnifcative infecare bloc catc) a#erent.

    Atentie la ordinea in care sunt mentionate blocurile detratare a exceptiilor. Mutatiintr*o metoda blocul de codcare poate genera exceptii siapoi rescrieti modalitatile detratare.Himport ava.io.1;import ava4.s:ing.UDption>ane;import ava.io.CDB4ception;class exc extends ExceptionHHclasa e4c este derivata din clasaB4ception  {  public int i;  public double d!;

    public void read()00metodapentru citire { S,stem.out.print("Cntroduceti un numar intreg3 ");  tr,00se incearca citirea  {  RataCnputStreamdata=ne:RataCnputStream(S,stem.in); i=Cnteger.parseCnt(data.readine());  +00end tr,  catc&(CDB4ception::)00daca nu a reusit citirea! se damesa de e4ceptie  { S,stem.out.print("B4ceptie la citireanumarului intreg*");  +00end catc&

    S,stem.out.print("Cntroduceti undouble3 ");  tr,00se incearca citirea  {

  • 8/17/2019 188600805-TEMA-IP.docx

    28/55

      RataCnputStreamdata=ne:RataCnputStream(S,stem.in); d=Rouble.parseRouble(data.readine());

      +00end tr,  catc&(CDB4ception::)00daca nu a reusit citirea! se damesa de e4ceptie  { S,stem.out.print("B4ceptie la citireanumarului double*");  +00end catc&  +00end read  public void div() t&ro:sB4ception00metoda de diviare

      {  i$ (d==) t&ro: ne:B4ception ("Broare la diviiune cu*");00e4ceptie daca se incearcadiviiune cu   else

    {  =i0d;  S,stem.out.print(i'" 3"'d'" = "');00daca diviiunea estecorecta! se a9seaa mesa  +  +00end div  +00end class e4cclass XemaG 00class XemaG! continemain  {  public static void main(Stringargs[])00metoda main  {  e4c b#=ne: e4c();00secreeaa un obiect nou ce apartineclasei e4c  b#.read();00se apeleaametoda de citire  tr,00se incearca diviarea  {  b#.div();  +00end tr,  catc& (B4ception e)00dacadiviarea nu a reusit! se a9seaamesa de e4ceptie

      { S,stem.out.print(e.getMessage());  S,stem.e4it();  +00end catc&  S,stem.e4it();

      +00end main  +00end class Xema  01(. Scrieti o aplicatie Javacare defneste o clasa care areca atribut privat un sir de

    tring*uri reprezentandnumele unor studenti.

  • 8/17/2019 188600805-TEMA-IP.docx

    29/55

      public void read(int i)t&ro:s B4ception00metoda pentrucitire  {  String sample =null;

      uNeredFeaderbr = ne: uNeredFeader(ne:CnputStreamFeader(S,stem.in) );

    S,stem.out.print("Cntroduceti numelecelui deal "'i'" student3");  sample =br.readine(); i$(sample.lengt&()==)  { 

    t&is.studenti[i]= ne: String();  t&ro:ne: B4ception("2umele nu a $ostsetat");  +  else  { t&is.studenti[i]=sample;  +

    +public void

    intersc&imbare(int i!int ) t&ro:sB4ception  { i$(t&is.studenti[i].lengt&()== t&is.studenti[].lengt&()== )  t&ro: ne:B4ception("Se compara cu sir null");  else

    i$(t&is.studenti[i].compareXo(t&is.studenti[]) )  {  Stringcopie=t&is.studenti[i]; t&is.studenti[i]=t&is.studenti[]; t&is.studenti[]=copie;  +

      +public void sortare(){

      $or(inti=;i%t&is.limit;i'')  {  $or(int

     =i'#;%t&is.limit;'')  {  tr,{ t&is.intersc&imbare(i!);  +catc&(B4ception e)  { S,stem.out.println(e.getMessage());  +

    +

      ++public void a9sare(){

      $or(int i=;i%limit;i'')  { i$(t&is.studenti[i].lengt&())S,stem.out.println(t&is.studenti[i]);  +

    ++01=. 6n dreptung)i este defnitde 2 puncte$ coordonatele col+ului din st9nga, sus +i cele alecol+ului din dreapta, os. lasadreptung)i implementeaza +i ometoda pentru calcularea arieisale. ititi de la tastaturacoordonatele unui dreptung)i +iverifca+i daca 1@ dreptung)iuri  generate aleator au macar15 din arie -n comun cu ariadreptung)iului ini+ial. &aca undreptung)i nu verifca aceastacondi+ie se va declan+a:llegalArgumentException +i sevor f  af+ate coordonateledreptung)iul eronat.&reptung)iurile generate trebuieplasate de la -nceput doar

  • 8/17/2019 188600805-TEMA-IP.docx

    30/55

    -ntr*o arie de 15@ -n uruldreptung)iului ini+ial.public class roblema=test "  public static void main(String[]args) {  Rreptung&i drept=ne:

    Rreptung&i();  drept.citirecoordonate(); 000S,stem.out.println(drept.arie());

    Rreptung&i[]dreptung&iuri=ne: Rreptung&i[#];

    $or(inti=;i%dreptung&iuri.lengt&;i'')  {  dreptung&iuri[i]= ne:Rreptung&i(); 

    dreptung&iuri[i].generare(); S,stem.out.println(dreptung&iuri[i].arie());  +  ++import ava.io.uNeredFeader;import ava.io.RataCnputStream;import ava.io.CDB4ception;import ava.io.CnputStreamFeader;import ava.util.Fandom;

    public class &reptung)i "  Fandom rd=ne: Fandom();  private int 4#;  private int ,#;  private int 45;  private int ,5;

    static int 4initial#;  static int ,initial#;  static int 4initial5;  static int ,initial5;

    public int generare#G(int 4){  return 41#G0#;

    +public void a9sarec(){

     S,stem.out.println("4#"'t&is.4#'",#"'t&is.,#'"45"'t&is.45'",5"'t&is.,5);  +

    public void generare()  {

     S,stem.out.println(Rreptung&i.4initial#); t&is.4#=t&is.rd.ne4tCnt(Rreptung&i.4initial#)'t&is.generare#G(Rreptung&i.4i

    nitial#); t&is.,#=t&is.rd.ne4tCnt(Rreptung&i.,initial#)'t&is.generare#G(Rreptung&i.,initial#); t&is.45=t&is.rd.ne4tCnt(Rreptung&i.4initial5)'t&is.generare#G(Rreptung&i.4initial5); t&is.,5=t&is.rd.ne4tCnt(Rreptung&i.,initial5)'t&is.generare#G(Rreptung&i.,i

    nitial5);  +

    public /oat arie()  {  return Mat&.abs((t&is.45Lt&is.4#)1(t&is.,#Lt&is.,5));  +  public void citirecoordonate(){

    tr,{  S,stem.out.print("-oltStanga Sus 4#3");  RataCnputStreamdata=ne:RataCnputStream(S,stem.in); Rreptung&i.4initial#=Cnteger.parseCnt(data.readine());  +catc&(CDB4ception ::){ S,stem.out.print("B4ceptie la citire");  +

    tr,{  S,stem.out.print("-oltStanga Sus ,#3");  RataCnputStreamdata=ne:RataCnputStream(S,stem.in); Rreptung&i.,initial#=Cnteger.parseCnt(data.readine());  +catc&(CDB4ception ::){

  • 8/17/2019 188600805-TEMA-IP.docx

    31/55

     S,stem.out.print("B4ceptie la citire");  +

    tr,{  S,stem.out.print("-oltStanga Sus 453");

      RataCnputStreamdata=ne:RataCnputStream(S,stem.in); Rreptung&i.4initial5=Cnteger.parseCnt(data.readine());  +catc&(CDB4ception ::){ S,stem.out.print("B4ceptie la citire");  +

    tr,{  S,stem.out.print("-olt

    Stanga Sus ,53");  RataCnputStreamdata=ne:RataCnputStream(S,stem.in); Rreptung&i.,initial5=Cnteger.parseCnt(data.readine());  +catc&(CDB4ception ::){ S,stem.out.print("B4ceptie la citire");  +  ++Tema =1. Scrieti un applet Java carepreia ( parametri int, %oatFdin fsierul UTM3 atasat.4olositi acesti parametri pentrra desena un dreptung)i rotunitumplut cu o anumita culoareverde, albastru, etc.F. &efniticuloarea conturului si culoareade umplere #olosindcomponentele CVW.import ava.applet.1;import ava.a:t.1;import ava.lang.1;public class CoundCectangleextends Applet{int 4!,!:!&;public void init()

    {4=Cnteger.parseCnt(get>arameter("4"));,=Cnteger.parseCnt(get>arameter(","));:=Cnteger.parseCnt(get>arameter(":"));&=Cnteger.parseCnt(get>arameter("&"))

    ;+public void paint(rap&ics g){-olor c=ne: -olor(#K!6!I);  g.set-olor(c);  g.9llFoundFect(4!,!:!&!#!#);++2. Scrieti un program JavaappletcationF care, in cazul incare este rulat ca aplicatieindependenta, citeste un sir decaractere de la tastatura siinlocuieste primul si ultimulcaracter cu //. &aca este rulatca applet, programul afseazaun mesa.import ava.applet.1;import ava.a:t.1;import ava.io.1;public class Appletcationextends Applet "public void paint(rap&ics g){g.dra:String("mesa..."!5G!5G);+public static void main(String[] args){String s=ne: String();RataCnputStream in=ne:RataCnputStream(S,stem.in);S,stem.out.println("Cntroduceti sirulde caractere3 ");tr,{s=in.readine();  +catc&(CDB4ception e){+String a="1";S,stem.out.println("2oul sir este3 ");S,stem.out.println(a's.substring(#!s.lengt&()L#)'a);++'. Scrieti un applet Java careafseaza pe ecran o imagine se#olosesc metodele get:mageF sidraX:mageFF. ompletatifsierul sursa cu liniile de codcare redau o secventa sonoragetAudiolipFF.

  • 8/17/2019 188600805-TEMA-IP.docx

    32/55

    import ava.applet.1;import ava.a:t.1;public class image extendsApplet "  Cmage img;  Audio-lip aud;

    public void init() {img=getCmage(get-odease()!":inter.gi$"); aud=getAudio-lip(get-odease()!"lala.au");  +

    public void paint(rap&ics g)  {g.dra:Cmage(img!!!t&is);  aud.loop();++

    (. Scrieti un applet Java carepreia din fsierul UTM3 unnumar intreg numit n. Aplicatiadeseneaza o tabla de oc cunxn patrate colorate alternativin doua culori preluate tot caintreg din fsierul UTM3import ava . aXt .Rimport ava.applet.Applet;public class p( extends Applet"  int n!r!v!b;  String s;  public void start()  {s=get>arameter("n");  n=Cnteger.parseCnt(s);  s=get>arameter("r");  r=Cnteger.parseCnt(s);  s=get>arameter("v");  v=Cnteger.parseCnt(s);  s=get>arameter("b");  b=Cnteger.parseCnt(s);  +

    public void paint(rap&ics g)  {  -olor col#=ne:-olor(r!v!b);  -olor col5=ne:-olor(55!#!G);  int i!;  $or( i=;i%n;i'')  $or(=;%n;'')  i$(i

  • 8/17/2019 188600805-TEMA-IP.docx

    33/55

    g.set-olor(col#);g.9llFect((G##Li)!!#!#);+  $or(i=;i%5GH;i'')  {-olor col =ne: -olor(!5GG!i);  g.set-olor(col);

      g.9llFect((G#5'i)!!#!#);  +  $or(i=5GG;i=;iLL)  {-olor col# =ne: -olor(!i!5GG);  g.set-olor(col#);  g.9llFect((#56Li)!!#!#);  +  $or(i=;i%5GH;i'')  {-olor col =ne:-olor(i!!5GG);  g.set-olor(col);  g.9llFect((#57'i)!!#!#);

      +++;. Cealiza+i un appletcationcare, atunci c9nd este rulat caaplica+ie va af+a mesaul$Culeaza*mY ca applet. 9ndeste rulat ca applet va citi caparametru UTM3 raza unui cerc.&esena+i un pYtrat +i untriung)i -nscrise -ninteriorulacestui cerc.import ava.applet.1;import ava.a:t.1;public class cerc extendsApplet"  int r;

    public static void main(String[]args)  {S,stem.out.println("FuleaaLmaca Applet.");+

    public void init() {r=Cnteger.parseCnt(get>arameter("r"));  +

    public void paint(rap&ics g)  {g.dra:Dval(!!r!r);  g.dra:Fect(5K!5K!#7!#7);  int[] 4={#6!#!#JI+;  int[] ,={#G!!#G+;  int n=6;

      g.dra:>ol,gon(4!,!n);++=. &esena+i primele n poligoanecare au numYrul de diagonalecel pu+in de x ori mai maredec9t numYrul de laturi. n +i x

    sunt citi+i ca parametrii dinpagina UTM3. oligoanele suntumplute cu culori aleatorii.import ava.a:t.-olor;import ava.a:t.-ontainer;import ava.a:t.rap&ics;import ava.a:t.>ol,gon;import ava.a:t.event.Zindo:Adapter;import ava.a:t.event.Zindo:Bvent;import ava4.s:ing.U@rame;import ava4.s:ing.U>anel;

    public class pol extends Janel"  public voidpaint-omponent(rap&ics g) {  super.paint-omponent(g);  int n=G;  int 4=5;  int =G;  int =#;

    :&ile(n){  i$((L6)05=4)  { >ol,gon p = ne:>ol,gon();  $or (int i = ; i % ; i'')  p.add>oint((int) (1#' G 1Mat&.cos(i 1 5 1 Mat&.>C 0 ))!  (int) (# ' G 1Mat&.sin(i 1 5 1 Mat&.>C 0 )));  -olor c=ne: -olor(1#5!15!);  g.set-olor(c);  g.9ll>ol,gon(p);  '';  '';  nLL;  +  else  {'';+  +  +  public static void main(String[]args) {  U@rame $rame = ne: U@rame();

  • 8/17/2019 188600805-TEMA-IP.docx

    34/55

      $rame.setXitle("Rra:>ol,");  $rame.setSie(6G! 5G);  $rame.addZindo:istener(ne:Zindo:Adapter() {  public void:indo:-losing(Zindo:Bvent e) {

      S,stem.e4it();  +  +);  -ontainer content>ane =$rame.get-ontent>ane();  content>ane.add(ne: pol());  $rame.s&o:();  ++Tema>1. Scrieti un applet Java careare ' componente de tip)ec!box si un buton laapasarea caruia se afseaza,prin intermediul uneicomponent de tip 3abel, untext care contine o in#ormareasupra selectiei #acute.import ava.a:t.1;import ava.applet.1;import ava.a:t.event.1;public class )ec!boxTestextends Applet "  utton btnc&oice;  -&ecbo4 c&#;  -&ecbo4 c&5;  -&ecbo4 c&6;  abel selection;

    public void init(){  btnc&oice=ne: utton("Alege");  add(btnc&oice);  c&#=ne: -&ecbo4 ("Sucde mere");  c&5=ne: -&ecbo4("-eai");  c&6=ne: -&ecbo4("-a$ea");  selection= ne: abel("Ati ales3");  add(c&#);  add(c&5);  add(c&6);  add(selection);

      +public boolean action (Bvent

    evt! Dbect arg){  String sel=ne: String("Atiales3 ");  i$(evt.target==btnc&oice){

      i$(c&#.getState()) sel'=c&#.getabel()'1;  i$(c&5.getState()) sel'=c&5.getabel()'1;  i$(c&6.getState()) sel'=c&6.getabel()'1;  +  selection.setXe4t(sel);  return true;

      ++2. Scrieti un applet Java carecontine 2 componente de tipText4ield, o componenta de tipTextArea si ( butoane cuetic)etele ZNZ, Z*Z, ZZ si ZHZ. 3aapasarea unui buton secalculeaza rezultatul operatieiaritmetice corespunzatoare,e#ectuate intre numerele scrisein cele 2 componente de tipText4ield. Cezultatul se adauga,pe un rand nou, la s#arsitultextului dea existent incomponenta de tip TextArea.import ava.applet.1;import ava.a:t.1;import ava.a:t.event.1;public class alculator extendsApplet{  utton btnplus;  utton btnminus;  utton btndivide;  utton btnmultipl,;  Xe4t@ield t4t#;  Xe4t@ield t4t5;  Xe4tArea t4t6;  Rouble a;  Rouble b;  public void init(){  btnplus= ne: utton("'");

  • 8/17/2019 188600805-TEMA-IP.docx

    35/55

      btnminus= ne:utton("L");  btndivide= ne:utton("0");  btnmultipl,= ne:utton("1");

     t4t#= ne: Xe4t@ield(G);

      t4t5= ne: Xe4t@ield(G);  t4t6= ne: Xe4tArea(J!#);

    add(t4t#);  add(btnplus);  add(btnminus);  add(btndivide);  add(btnmultipl,);  add(t4t5);  add(t4t6);  +

    public boolean action (Bventevt! Dbect arg){ a=Rouble.parseRouble(t4t#.getXe4t()); b=Rouble.parseRouble(t4t5.getXe4t());  i$(evt.target==btnplus) t4t6.append(Rouble.toString(a'b)'"n");  i$(evt.target==btnminus) t4t6.append(Rouble.toString(aLb)'"n");  i$(evt.target==btnmultipl,) t4t6.append(Rouble.toString(a1b)'"n");  i$(evt.target==btndivide) t4t6.append(Rouble.toString(a0b)'"n");  return true;  ++'. Scrieti un applet Java carecare deseneaza la pozitia1@@,1@@F un dreptung)i verdecu laturile de 1@@ si 5@. 3aapasarea unui buton cuetic)eta ZCosuZ,dreptung)iuleste redesenat cu noua culoare

    si etic)eta butonului estesc)imbata in ZQerdeZ, s.a.m.d.import ava.a:t.1;import ava.a:t.event.1;public class oloredCectangleextends Applet implementsActionistener{  utton btncolor;  int 4=#;  int ,=#;  int :=#;  int &=G;

    public void init(){  btncolor= ne:utton("rosu"); btncolor.addActionistener(t&is);  add(btncolor);

      +public void

    action>er$ormed(ActionBvent e){ i$(btncolor.getabel().eOuals("rosu")){ btncolor.setabel("verde");  +  else{ btncolor.setabel("rosu");  repaint();  +  +  public void paint(rap&ics g){ i$(btncolor.getabel().eOuals("rosu")) g.set-olor(-olor.FBB2);  else  g.set-olor(-olor.FBR);  g.dra:Fect(4! ,! :! &);

    ++

    (. Scrieti un applet Java caredetecteaza clic!*ul butonuluistanga al mouse*ului sideseneaza la pozitia respectivaun dreptung)i plin. uloareadreptung)iului este sc)imbata lafecare clic!, find generataaleator.

  • 8/17/2019 188600805-TEMA-IP.docx

    36/55

    import ava.a:t.1;import ava.a:t.event.MouseBvent;import ava.a:t.event.Mouseistener;import ava.a:t.event.MouseMotionistener;import ava.applet.1;

    public class ( extends Appletimplements Mouse3istener,MouseMotion3istener{  int mouse=!mouseQ=;  public void init(){  addMouseistener(t&is); addMouseMotionistener(t&is);  +  public voidmouse>ressed(MouseBvent me){  mouse=me.get();

      mouseQ=me.getQ();  repaint();  +  public void paint(rap&ics g){  int F=(int) (Mat&.random()1 5GG );  int =(int) (Mat&.random()1 5GG );  int =(int) (Mat&.random()1 5GG );  -olor m,-olor=ne:-olor(F!!);  g.set-olor(m,-olor);  g.9llFect( mouse!mouseQ!7!7);  +  public voidmouseRragged(MouseBvent e) {+  public voidmouseMoved(MouseBvent e) {+  public voidmouse-liced(MouseBvent e) {+  public voidmouseBntered(MouseBvent e) {+  public voidmouseB4ited(MouseBvent e) {+  public voidmouseFeleased(MouseBvent e) {++5. Scrieti un applet Java caredeseneaza pe ecran o tabla de oc problema ( din lab. =F.

    and se #ace clic! cu mouse*ulpe unul din patrate, culoareaacestuia este sc)imbata in rosu.e ecran sunt afsate inpermanenta numarul de clic!*urie#ectuate in patrate si in a#ara

    tablei de oc si numarul depatrate disponibile.

    import ava.a:t.1;import ava.applet.Applet;public class 5 extendsApplet{  private static 9nal int n =7;  private Fectanglerectangles[][] = ne: Fectangle[n][n];

      private boolean inFect[][]=ne: boolean[n][n];  public void init()  {  int 4 = 5;  int , = 5;  int :idt& = 6;  int &eig&t =6;  $or (int i = ;i%n;i''){  $or (int = ; %n; '')  {  inFect[i][] = $alse;  rectangles[i][] =ne: Fectangle(4! ,! :idt&! &eig&t);  4 '=:idt&;  +  4=5;  , '=&eig&t;

    +  +  public booleanmouseMove(Bvent event! int 4! int,)  {  boolean c&ange = $alse;  $or (int i = ; i % n;i'')  $or (int = ; %n; '')  {

  • 8/17/2019 188600805-TEMA-IP.docx

    37/55

      i$ (*inFect[i][] PPrectangles[i][].inside(4! ,))  {  inFect[i][] =true;  c&ange = true;

      +  i$ (inFect[i][]PP *rectangles[i][].inside(4! ,))  {  inFect[i][] =$alse;  c&ange = true;  +  +  i$ (c&ange)  repaint();  return true;

      +  public void paint(rap&icsg){  $or (int i = ; i % n;i'')  $or (int = ; %n; '')  {  i$ (inFect[i][]== true){ g.set-olor(-olor.red); g.9llFect(rectangles[i][].4!rectangles[i][] .,! rectangles[i][] .:idt&! rectangles[i][].&eig&t);  +  else{  i$(((i')

  • 8/17/2019 188600805-TEMA-IP.docx

    38/55

      $or(int i=;i%nL#;i'')  $or(int =;%nLiL#;'') i$( vector['#] % vector[] )

      {au4=vector[];vector[]=vector['#]; vector['#]=au4;

    o= true;  +  +  S,stem.out.print("Sirulordonat este3 ");  $or(int i=;i%n;i'')

      { S,stem.out.print(vector[i]'" ");  +

    +  +HHJ  import ava.util.1;  import ava.io.-onsole;  import ava.io.RataCnputStream;  import ava.lang.S,stem;  import ava.io.CDB4ception;  import cc.-onsole;  class WubbleSortAlgJ  {

    public static voidmain(String args[]) t&ro:sCDB4ception  {  boolean o;  int n!au4;  int vector[]=ne:int[#];

    S,stem.out.print("Rati numarulde elemente n=");  n=-onsole.in.readCnt();  S,stem.out.print("Ratielementele3 ");

    $or(int i=;i%n;i'')  { vector[i]=-onsole.in.readCnt();

    +

      do{o=true;

      $or(int i=;i%nL#;i'')  {  i$( vector[i]

    vector[i'#] )  {  o=$alse; au4=vector[i]; vector[i]=vector[i'#]; vector[i'#]=au4;  +  +

    +

      :&ile(*o);S,stem.out.print("Sirul

    oradonat crescator este3 ");  $or(int i=;i%n;i'')S,stem.out.println(vector[i]'" ");  +  +00uNeredFeaderimport ava.io.1;import ava.lang.S,stem;public classWubbleSortAlgWu7erCeader

    {  public static voidmain(String args[]) t&ro:sCDB4ception  {  uNeredFeaderscanner=ne: uNeredFeader(ne:CnputStreamFeader(S,stem.in));

    String str=null;  int n!au4;  int vector[]=ne: int[#];  S,stem.out.print("Ratinumarul de elemente n3");

    str=scanner.readine();  n=Cnteger.parseCnt(str);

    00-itirea sirului$or(int i=;i%n;i'')

      {

  • 8/17/2019 188600805-TEMA-IP.docx

    39/55

     S,stem.out.print("Blem["'i'"]3");

    str=scanner.readine(); vector[i]=Cnteger.parseCnt(str);  +

      00ubbleSort  boolean o = true;  :&ile (o)

    {  o = $alse;  $or(int i=;i%nL#;i'')  $or(int =;%nLiL#;'') i$( vector['#] % vector[] )  { 

    au4=vector[]; vector[]=vector['#]; vector['#]=au4;

    o =true;  +  +

    S,stem.out.print("Sirul ordonateste3 ^ ) $or(int i=;i%n;i'')  { S,stem.out.print(vector[i]'" ");  +

    +  +012. Scrieti o aplicatie Java careconcateneaza datele angaatilorunei frme considerand maimulte departamente Maxd *departamenteF avand nume detip String. &atele angaatilorfecarui departament suntstocate in fsiere distincte. Seva genera o secventa cu totiangaatii companiei#olosind clasaSe[uence:nputStream.Afsati angaatii din fecaredepartament in parte si apoiangaatii care au salariul mai

    mare decat un anumit prag cititde la tastatura.Himport ava.io.1;import ava.util.1;class &ateAngaati{

      public static void main(Stringargs[])  {  departament-lass[]departament;00se creeaa un sirde departamente  String []den=ne: String[5];00secreeaa un sir de denumiri

    den[]="departament#.t4t";  den[#]="departament5.t4t";  departament=ne:departament-lass[5];

    departament[]=ne:departament-lass("dep#"!den[]);  departament[#]=ne:departament-lass("dep5"!den[#]);  ++class departament-lass{  String name!te4t;

    String []nume=ne: String[6];  String []prenume=ne:String[6];  int []salariu=ne: int[6];  int lim;  departament-lass(Stringnm!String 9le)  {  name=nm;

    tr,  {  @ileCnputStream$stream = ne: @ileCnputStream(9le);  RataCnputStream in =ne: RataCnputStream($stream);  uNeredFeader br =ne: uNeredFeader(ne:CnputStreamFeader(in));

    $or(int i=;i%6;i'')  {

    te4t=br.readine();

  • 8/17/2019 188600805-TEMA-IP.docx

    40/55

      StringXoenierst=ne: StringXoenier (te4t!" "); nume[i]=st.ne4tXoen(); prenume[i]=st.ne4tXoen();

    salariu[i]=Cnteger.parseCnt(st.ne4tXoen());  +

    +  catc&(CDB4ception e)  {  S,stem.e4it(#);  +

    S,stem.out.println("Angaatiidepartamentului "'name'" sunt3");  $or(int i=;i%6;i'')  {

     S,stem.out.println(nume[i]'""'prenume[i]);  +

    S,stem.out.println("Rati olimita in$erioara pt salariu3");  tr,  {  RataCnputStreamdata=ne:RataCnputStream(S,stem.in);lim=Cnteger.parseCnt(data.readine());  +  catc&(CDB4ception ::)  {  S,stem.e4it(#);  +

    S,stem.out.println("Angaatiidepartamentului "'name'" care ausalariu mai mare decat "'lim'"sunt3");  $or(int i=;i%6;i'')  {  i$(salariu[i]lim) S,stem.out.println(nume[i]'""'prenume[i]'" "'salariu[i]);  +  ++001'. Cealizati o aplicatie Javacare primeste de la intrarea

    standard siruri de caractere sub#ormatulZdd.MM..UU$mm*autor*subiectZ, care extrage sitipareste datele pe ecran sub#ormatul Zddmm*tor$subiectZ. Aplicatia iese din

    executie la apasarea tasteiZ\Z.Cecomandare $ utilizati clasaStringTo!enizer.Himport ava.util.StringXoenier;import ava.io.1;import ava.util.1;public class &aMont)]ear  { SuppressZarnings("deprecation")  public static voidmain(String args[]) t&ro:s

    CDB4ception  {  String str;  Stringi!luna!an!ora!minute!autor!subiect;

    RataCnputStream din=ne: RataCnputStream(S,stem.in);  boolean t = true;  String s;

    do {

    S,stem.out.println("Rati data in$ormat3 dd.MM.,,,,.TT3mmLaut&orLsubect.");

    str=din.readine();  StringXoeniers#=ne: StringXoenier(str!".");

    i=s#.ne4tXoen();00i=dd luna=s#.ne4tXoen();00luna=mm an=s#.ne4tXoen();00an=,,,,  ora=s#.ne4tXoen("3"); minute=s#.ne4tXoen("L");

    autor=s#.ne4tXoen("L"); subiect=s#.ne4tXoen("L");

    S,stem.out.println("Rata in

  • 8/17/2019 188600805-TEMA-IP.docx

    41/55

    $ormat3 ddLMML,,,,aut&or3subect."); S,stem.out.println("Rata3"'i'"L"'luna'"L"'an'" "'autor'"3"'subiect);

    S,stem.out.println("Roriti sa maicontinuati?(Q02)");

    s=din.readine();  s=s.toEpper-ase();  i$ (s.c&arAt()==2)t=$alse;

    else t=true;  +:&ile(t==true);  +  +00class01(. :mplementati aplicatiaanterioara #olosind un fsier deintrare care contine un anumitnumar de inregistrari cu#ormatul specifcat mai sus.Himport ava.io.1;import ava .util .1 ;import ava4.s:ing.UDption>ane;public class &aMont)]ear4isier{  public static void main(Stringargs[])  {  String aut&!sub;  String d!m!,;  String te4t;  String ,n = null;  tr,  {  00se creeaa streampt a citi din 9serul cu denumireaspeci9cata  @ileCnputStream$stream = ne:@ileCnputStream("problema7.t4t");  RataCnputStream in =ne: RataCnputStream($stream);  uNeredFeader br =ne: uNeredFeader(ne:CnputStreamFeader(in));  te4t= br.readine();00seciteste prima linie din 9sier  do  {

     S,stem.out.println("te4t= "'te4t);  StringXoenierst=ne: StringXoenier(te4t!".");00se seteaa separatorul  00se preiau datele

    separate de catre separatorul setatanterior d=st.ne4tXoen(); m=st.ne4tXoen();  ,=st.ne4tXoen();  st=ne:StringXoenier (te4t!"L");00se seteaaseparatorul  00se preiau dateleseparate de catre separatorul setat

    anterior  st.ne4tXoen(); aut&=st.ne4tXoen(); sub=st.ne4tXoen();  00se a9seaadatele in $ormatul cerut UDption>ane.s&o:MessageRialog(null!d'"L"'m'"L"','" "'aut&'"3"'sub);  00se cerecon9rmarea pt a continua cupreluarea si a9sarea datelor,n=UDption>ane.s&o:CnputRialog("Roriti sa continuati? (Q02)");+:&ile((,n.eOualsCgnore-ase("Q"))PP(te4t = br.readine()) *= null) ;  +  catc&(CDB4ception e)  {  S,stem.e4it(#);  +

    ++

    015. reati un fsier de tip SQcare contine pe linii distincteurmatoarele in#ormatii, separateprin caracterul ^_^$* nume student* an

  • 8/17/2019 188600805-TEMA-IP.docx

    42/55

    * nota1* ...* nota5ititi in#ormatia din fsier siapoi afsati toate datelestudentilor care au media mai

    mare ca >.8bs.$ lista destudenti trebuie ordonataal#abetic.Himport ava.io.RataCnputStream;import ava.io.@ileCnputStream;import ava.io.CDB4ception;import ava.util.Arra,s;  public class StudentiSuppressZarnings("deprecation")public static void main(String[] args)t&ro:s CDB4ception {  String $2ame =

    "-3UavaZorspaceab#>robGdate.csv";  String t&isine;

    int i = ;  /oat media;

    @ileCnputStream 9s = ne:@ileCnputStream($2ame);  RataCnputStream m,Cnput= ne: RataCnputStream(9s);

    :&ile ((t&isine =m,Cnput.readine()) *= null)  {  String strar[] =t&isine.split("_");

    $or(int =;%strar.lengt&;'')  {

    media=((@loat.parse@loat(strar[5])'@loat.parse@loat(strar[6])'@loat.parse@loat(strar[7])'@loat.parse@loat(strar[G])'@loat.parse@loat(strar[H]))0G);

    i$(i==){  i$(== PPmedia=J)  {  String[] names ={strar[]+;  Arra,s.sort(names);S,stem.out.print("Studentul3

    "'names[]'" din anul de studiu3"'strar[#]'" are media3 "); S,stem.out.print(media);  S,stem.out.println();

    +

      +  +  +

    +  +Mi&nea Andreea_5_G_J_H_7_ICon >itt_5_I_H_G_K_#Elici Con_6_J_J_K_#_K>uicar Cabela_7_5_5_#_#_H-ovaci Culian_#_H_H_H_#_ISQ01=. ititi dintr*un fsier text oimagine grascale reprezentataca o matrice de intregi.:maginea este urmata de maimulte fltre de convolutie.Aplicati aceste fltre peimaginea originala si afsati atatimaginea originala cat siimaginile rezultate.Himport ava.a:t.-olor;import ava.a:t.@ont;import ava.a:t.rap&ics;import ava.a:t.rap&ics5R;import ava.a:t.Cmage;import ava.a:t.Xoolit;import ava.a:t.image.uNeredCmage;import ava.a:t.image.uNeredCmageDp;import ava.a:t.image.-onvolveDp;import ava.a:t.image.Vernel;import ava.a:t.event.Zindo:Adapter;import ava.a:t.event.Zindo:Bvent;import ava4.s:ing.U@rame;import ava4.s:ing.U>anel;public class :magerocessingextends Janel {

    private static 9nal longserialYersionECR = #;  public String get2ame() {  return "Cmage >rocessing";  +

  • 8/17/2019 188600805-TEMA-IP.docx

    43/55

      Cmage image;public Cmage>rocessing() {  image = Xoolit.getRe$aultXoolit().getCmage("-3UavaZorspaceab#>bI>oa.pg");

      +

      static String[] 9lter2ames =ne: String[] { "Driginal"!"lur"!"S&arpen"! "Bdge Retect"+;

    static uNeredCmageDp[] 9lters= ne: uNeredCmageDp[] {  null!  ne: -onvolveDp(ne: Vernel(6!6! ne: /oat[] { #$! 5$! #$! 5$! 7$!5$! #$! 5$! #$+))!  ne: -onvolveDp(ne: Vernel(6!

    6! ne: /oat[] { L#$! L#$! L#$! L#$!K$! L#$! L#$! L#$! L#$ +))!  ne: -onvolveDp(ne: Vernel(6!6! ne: /oat[] {L#$! L#$! L#$! L#$! J$!L#$! L#$! L#$! L#$+))+;  public void paint(rap&ics g#){  rap&ics5R g =(rap&ics5R) g#;

    uNeredCmage bimage =ne:uNeredCmage(image.getZidt&(t&is)!image.getTeig&t(t&is)!uNeredCmage.XQ>B8C2X8F);  rap&ics5R ig =bimage.createrap&ics();  ig.dra:Cmage(image! ! !t&is);

    g.set@ont(ne:@ont("SansSeri$"! @ont.DR! #5));

    g.set-olor(-olor.red);g.translate(#! #);$or (int i = ; i %

    9lters.lengt&; i'') {i$ (9lters[i] == null)

     g.dra:Cmage(bimage! ! ! t&is);  elseg.dra:Cmage(9lters[i].9lter(bimage!null)! ! ! t&is); g.dra:String(9lter2ames[i]! ! 5G);

    g.translate(#6I! );+

      +  public static void main(String[]a) {  U@rame $ = ne: U@rame();

      $.addZindo:istener(ne:Zindo:Adapter() {  public void:indo:-losing(Zindo:Bvent e) {  S,stem.e4it();  +  +);  $.set-ontent>ane(ne:Cmage>rocessing());  $.pac();  $.setYisible(true);  +

    +Tema 11

    1. Sa se scrie o aplicatie Java distribuita

    folosind o conexiune fara confirmare

    (datagrame) care permite autentificarea

    utilizatorilor. Utilizatorul va trimite numele

    ca si datagrama iar aplicatia server asculta

    pentru mesaje de autentificare timp de 25

    secunde la finalul carora trimite clientului un

    mesaj de notificare. !plicatia returneaza un

    mesaj personalizat numelui utilizatorului in

    caz de autentificare reusita clientul afisandmesajul. (se va folosi metoda etSo"imeout(ss)

    pentru stabilirea timpului de ascultare la

    soc#etul serverului)

    import java.io.*;

    import java.net.*;

    public class U$%&lient {

     public static void main(String[] args){try{

    DatagramSocket socketne!

    DatagramSocket();

    System.out.println("Socket

    initiali#at.client");String toSend"anca";

     byte[] bu$$toSend.get%ytes();

    Datagram&acket ptne!

    Datagram&acket(bu$$'bu$$.lengt'netddress.ge

    t%y+ame(",-././.,")',-01);

    socket.send(pt);

     byte[] bu$$erne! byte[-23];

  • 8/17/2019 188600805-TEMA-IP.docx

    44/55

    Datagram&acket ppne!

    Datagram&acket(bu$$er'bu$$er.lengt'netddres

    s.get%y+ame(",-././.,")',-01);

    socket.receive(pp);

    System.out.println("4lient5m primitmesajul5 "6ne! String(bu$$er));

    7catc(Socket89ception e){7

    catc(:nkno!nost89ception er){7

    catc(

  • 8/17/2019 188600805-TEMA-IP.docx

    45/55

     Datagram&acket cererene!

    Datagram&acket(bu$$'bu$$.lengt);

     socket.receive(cerere);

     

    String calene! String(bu$$);

     String patroot6cale;

     System.out.println("calea este5"6pat);

    Aile $ne! Aile(pat);

     AilenputStream trimitene!

    AilenputStream($);

     byte[] $isierne!

     byte[(int)$.lengt()];

     trimite.read($isier);

     

    netddress

    adresanetddress.get@ocalost();

     Datagram&acket raspunsne!

    Datagram&acket($isier'$isier.lengt'adresa'-//3) socket.send(raspuns);

     socket.close();

     trimite.close();

     7

     catc(Socket89ception e){7

     catc(

  • 8/17/2019 188600805-TEMA-IP.docx

    46/55

     System.out.println("4one9iune cu serverul

    indisponibila ?");

     return;

     7

    CCscrie mesajul toServer.println(mesaj);

    7C**

     * sculta' citeste si a$isea#a mesajul de la

    server.

     *C

     public String citesteGesaj(){

      String mesajne! String();

     i$($romServer null){

     String msg"4one9iune cu serverul

    indisponibila ?";

    return msg;

     7

    try {CCciteste mesaj

     mesaj $romServer.read@ine();

    7 catc (

  • 8/17/2019 188600805-TEMA-IP.docx

    47/55

     CCinitiali#ea#a serverul

     server ne! ServerSocket(port);

    System.out.println("scult pentru cone9iunea

    clientului ...");

    CCasculta pentru cone9iunile clientilor  client server.accept();

    System.out.println("4lientul " 6client.getnetddress().getost+ame() 6 "

    conectat ?");

    CCcree# streamurile pentru scriereCcitire mesaje

     $rom4lient ne! %u$$eredBeader(ne!

    nputStreamBeader(client.getnputStream()));

     to4lient ne!

    &rintStream(client.get

  • 8/17/2019 188600805-TEMA-IP.docx

    48/55

    specificata este un fisier se trimit clientului

    marimea acestuia si data crearii. $aca

    fisierul-directorul nu exista se trimite

    clientului un mesaj corespunzator.

    &onexiunea este folosita atat timp

    cat clientul doreste acest lucru.

    import java.io.%u$$eredBeader;import java.io.l.Date;

    C**

     * 89emplu de aplicatie distribuita care $oloseste

    o cone9iune tcpCip

     * pentru scimbul de mesaje de tip String.

     ** 4lasa implementea#a aplicatia server' care

     permite

    * conectarea si scimbul de mesaje cu

    aplicatiile client. *

    * Eautor 4alinHligor @ogin

     *C

    public class "&%Server +

     CCportul $olosit pentru cone9iune

     public int port -/,1;

    CCsocketul server 

     private ServerSocket server; CCsocketul client

     private Socket client;

    CCstreamuri pentru comunicarea cu clientul

     private %u$$eredBeader $rom4lient;

     private &rintStream to4lient;

    C** * 4reea#a serverul si asculta cererile pentru

    cone9iune ale clientilor.

     *C

     public void startServer(){System.out.println("nitiali#e# aplicatia

    server ..."); try {

    CCinitiali#ea#a serverul

     server ne! ServerSocket(port);

    System.out.println("scult pentru cone9iunea

    clientului ...");

    CCasculta pentru cone9iunile clientilor 

     client server.accept();

    System.out.println("4lientul " 6

    client.getnetddress().getost+ame() 6 "

    conectat ?");

     

    CCcree# streamurile pentru scriereCcitire mesaje

     $rom4lient ne! %u$$eredBeader(ne!

    nputStreamBeader(client.getnputStream())); to4lient ne!

    &rintStream(client.get

  • 8/17/2019 188600805-TEMA-IP.docx

    49/55

     *C

     public String citesteGesaj(){

     String mesajne! String();

     i$($rom4lient null){

     String msg"4one9iune cu clientulindisponibila ?";

    return msg; 7

     

    try {

     

    CCciteste mesaj

     mesaj $rom4lient.read@ine(); 

    7 catc (

  • 8/17/2019 188600805-TEMA-IP.docx

    50/55

     public int port -/,1;

     

    CCostul destinatie

     private String destinatie;

     

    CCsocketul client

     private Socket client; 

    CCstreamuri pentru comunicarea cu

    serverul

     private %u$$eredBeader $romServer;

     private &rintStream toServer;

     

    C**

     * Setea#a ostul destinatie.

     * Eparam destinatie numele ostului.

     *C public void setost+ame(String destinatie){

     tis.destinatie destinatie; 7

     

    C**

     * nitiali#ea#a aplicatia client si se conectea#a la

    server.

    *C

     public void conectea#aFte(){

     

    i$(destinatie null){

     System.out.println("ostul destinatie nu este

    speci$icat ?");

     return; 7

    try {

     

    System.out.println("ncerc cone9iunea la

    server...");

     

    CCinitiali#ea#a clientul

     client ne! Socket(destinatie' port);

     

    System.out.println("Gam conectat la serverul 5

    " 6 destinatie);

     CCcree# streamurile pentru scriereCcitire mesaje

     $romServer ne! %u$$eredBeader(ne!

    nputStreamBeader(client.getnputStream()));

     toServer ne!

    &rintStream(client.get

  • 8/17/2019 188600805-TEMA-IP.docx

    51/55

     7

      public long citesteGesaj@(){

      long mesaj/;

     i$($romServer null){

     String msg"4one9iune cu serverulindisponibila ?";

    return mesaj; 7

      try {

     

    CCciteste mesaj

     mesaj $romServer.read();

     

    7 catc (

  • 8/17/2019 188600805-TEMA-IP.docx

    52/55

    import java.net.ServerSocket;

    import java.net.Socket;

    C**

     * 89emplu de aplicatie distribuita care $olosesteo cone9iune tcpCip

     * pentru scimbul de mesaje de tip String. *

    * 4lasa implementea#a aplicatia server' care

     permite

    * conectarea si scimbul de mesaje cu

    aplicatiile client.

     *

    * Eautor 4alinHligor @ogin

     *C

    public class "&%Server {

     CCportul $olosit pentru cone9iune public int port ,-01; 

    CCsocketul server 

     private ServerSocket server;

     CCsocketul client

     private Socket client;

     

    CCstreamuri pentru comunicarea cu clientul private %u$$eredBeader $rom4lient;

     private &rintStream to4lient;

     

    C** * 4reea#a serverul si asculta cererile pentru

    cone9iune ale clientilor.

     *C

     public void startServer(){

     

    System.out.println("nitiali#e# aplicatia

    server ...");

     try { 

    CCinitiali#ea#a serverul

     server ne! ServerSocket(port);

     System.out.println("scult pentru cone9iunea

    clientului ...");

     

    CCasculta pentru cone9iunile clientilor 

     client server.accept();

     

    System.out.println("4lientul " 6

    client.getnetddress().getost+ame() 6 "

    conectat ?");

     

    CCcree# streamurile pentru scriereCcitire mesaje

     $rom4lient ne! %u$$eredBeader(ne!

    nputStreamBeader(client.getnputStream())); to4lient ne!

    &rintStream(client.get

  • 8/17/2019 188600805-TEMA-IP.docx

    53/55

     7 catc (

  • 8/17/2019 188600805-TEMA-IP.docx

    54/55

     

    try {

     

    System.out.println("ncerc cone9iunea la

    server...");

    CCinitiali#ea#a clientul

     client ne! Socket(destinatie' port); 

    System.out.println("Gam conectat la serverul 5

    " 6 destinatie);

     

    CCcree# streamurile pentru scriereCcitire mesaje

     $romServer ne! %u$$eredBeader(ne!

    nputStreamBeader(client.getnputStream()));

     toServer ne!

    &rintStream(client.get

  • 8/17/2019 188600805-TEMA-IP.docx

    55/55

     String mesaj, "nr";

     !ile(sumaJprag)

     {client.trimiteGesaj(mesaj,);

     mesclient.citesteGesaj();

     System.out.println("numarul trimis este5"6mes);

     nrnteger.parsent(mes); sumasuma6nr;

     7

      System.out.println("Suma citita este5 "6suma); 

    CCincid cone9iunea cu serverul

     client.incide4one9iunea();

     7

    7