Sunteți pe pagina 1din 15

Universitatea Politehnica Timişoara

Facultatea de Automatică şi Calculatoare


Învăţământ la distanţă

PROBLEME REZOLVATE
JAVA

Ș.l. Dr. Inf. Oana – Sorina Chirila


Probleme rezolvate şi propuse - JAVA

PROBLEME REZOLVATE
1. Să se realizeze un program care citeşte de la tastatură un număr şi
verifică dacă este par sau impar.

Rezolvare:
import java.io.*;
public class Pare {

public static void main(String[] args) throws IOException {


int nr;

System.out.println("Tastati un numar: ");


BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
nr=Integer.parseInt(br.readLine());
if (nr%2==0)
System.out.println("Numarul tastat este par");
else
System.out.println("Numarul tastat este impar");
}
}

Rezultat la rulare:

Tastati un numar: 5

Numarul tastat este impar

Oana-Sorina Chirila 2
Probleme rezolvate şi propuse - JAVA

2. Să se realizeze un program care citeşte de la tastatură două numere


şi calculează ridicarea la putere a primului număr la cel de-al doilea.

Rezolvare:

import java.io.*;
public class Putere {

public static void main(String[] args) throws Exception{


BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ridicarea unui numar la putere");

System.out.print("Dati numarul care sa fie ridicat la putere: ");


double x=Double.parseDouble(br.readLine());

System.out.print("Dati puterea la care vreti sa ridicati numarul: ");


double y=Double.parseDouble(br.readLine());

double d=(Math.pow(x, y));


System.out.println("Rezultatul este: "+d);

Rezultat la rulare:

Ridicarea unui numar la putere


Dati numarul care sa fie ridicat la putere: 2
Dati puterea la care vreti sa ridicati numarul: 3
Rezultatul este: 8.0

Oana-Sorina Chirila 3
Probleme rezolvate şi propuse - JAVA

3. Să se realizeze un program care citeşte de la tastatură un număr şi


construieşte un tablou cu multiplicarea numerelor între 1 şi numărul
respectiv cu toate numerele între 1 şi numărul respectiv.

Rezolvare:
import java.io.*;

public class TabelMultiplicare {

public static void main(String[] args) throws Exception


{
BufferedReader br=new BufferedReader(new InputStreamReader (System.in));
try
{
System.out.print("Introduceti un numar: ");
int nr=Integer.parseInt(br.readLine());
for (int y=1; y<=nr; y++)
{
for (int x=1; x<=nr; x++)
{
System.out.print("\t"+y*x);
}
System.out.println("");
}
}
catch (NumberFormatException e)
{
System.out.println("Numar invalid");
}
}
}

Rezultat la rulare:

Introduceti un numar: 5
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25

Oana-Sorina Chirila 4
Probleme rezolvate şi propuse - JAVA

4. Să se realizeze un program care iniţializează două cuvinte şi le


compară din punct de vedere alfabetic.

Rezolvare:
public class Comparare {

public static void main(String[] args) {


int rezultat;
String cuv1="Acasa";
String cuv2="Apa";

rezultat=cuv1.compareTo(cuv2);

if (rezultat<0)
System.out.println("Cuvantul 1 este mai mic decat Cuvantul 2");
else if (rezultat>0)
System.out.println("Cuvantul 1 este mai mare decat cuvantul 2");
else
System.out.println("Este acelasi cuvant");
}
}

Rezultat la rulare:

Cuvantul 1 este mai mic decat Cuvantul 2

Oana-Sorina Chirila 5
Probleme rezolvate şi propuse - JAVA

5. Să se realizeze un program care creează următoarea piramidă:


*
**
***
****
*****

Rezolvare:
public class Piramida {

public static void main(String[] args) {

for(int i=1; i<= 5 ;i++)


{
for(int j=0; j < i; j++)
{
System.out.print("*");
}

//trecem pe linia urmatoare


System.out.println("");
}
}
}

Rezultat la rulare:

*
**
***
****
*****

Oana-Sorina Chirila 6
Probleme rezolvate şi propuse - JAVA

6. Să se realizeze un program care citeşte luna curentă a sistemului şi


o afişează pe ecran. Se va folosi instrucţiunea SWITCH.

Rezolvare:
import java.util.Calendar;
public class Luni {

public static void main(String[] args) {

Calendar cal = Calendar.getInstance();


int luna = cal.get(Calendar.MONTH) + 1;

String lunaAn;
switch (luna)
{
case 1: lunaAn = "Ianuarie";
break;
case 2: lunaAn = "Februarie";
break;
case 3: lunaAn = "Martie";
break;
case 4: lunaAn = "Aprilie";
break;
case 5: lunaAn = "Mai";
break;
case 6: lunaAn = "Iunie";
break;
case 7: lunaAn = "Iulie";
break;
case 8: lunaAn = "August";
break;
case 9: lunaAn = "Septembrie";
break;
case 10: lunaAn = "Octombrie";
break;
case 11: lunaAn = "Noiembrie";
break;
case 12: lunaAn = "Decembrie";
break;
default: lunaAn = "Luna invalida";
break;
}
System.out.println(lunaAn);
}

Rezultat la rulare:
Martie

Oana-Sorina Chirila 7
Probleme rezolvate şi propuse - JAVA

7. Să se realizeze un program care formează un vector de zece elemente


numere întregi egale cu poziţia pe care se găsesc elementele.

Rezolvare:
public class Vector {

public static void main(String[] args)


{

int[] vector; // declararea unui vector de intregi


vector = new int[10]; // crearea vectorului de intregi

// asignarea unei valori la fiecare element din vector


for (int i = 0; i < vector.length; i++)
vector[i] = i;

// afisarea fiecarui element din vector


for (int i = 0; i < vector.length; i++)
System.out.print(vector[i] + " ");
}

Rezultat la rulare:

0 1 2 3 4 5 6 7 8 9

Oana-Sorina Chirila 8
Probleme rezolvate şi propuse - JAVA

8. Să se realizeze un program care citeşte de la tastatură o matrice cu


n linii şi m coloane şi o afişează.

Rezolvare:

import java.io.*;
public class Matrice {

public static void main(String[] args) throws IOException {


BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Introduceti nr de linii: ");
int n=Integer.parseInt(br.readLine());
System.out.println("Introduceti nr de coloane: ");
int m=Integer.parseInt(br.readLine());
int a[][] = new int[n][m];

System.out.println("Introduceti elementele matricii: ");


for (int i = 0; i< n; i++)
for (int j = 0; j < m; j++)
{
System.out.println("a["+i+"][" +j+ "]=");
a[i][j] = Integer.parseInt(br.readLine());
}

System.out.println("Elementele matricii sunt: ");


for (int i = 0; i< n; i++)
{
for (int j = 0; j < m; j++)
{
System.out.print(a[i][j]+ " ");
}
System.out.println();
}
}
}

Rezultat la rulare:

Introduceti nr de linii: 2
Introduceti nr de coloane: 3
Introduceti elementele matricii:
a[0][0]=4
a[0][1]=5
a[0][2]=7
a[1][0]=1
a[1][1]=2
a[1][2]=5
Elementele matricii sunt:

Oana-Sorina Chirila 9
Probleme rezolvate şi propuse - JAVA
4 5 7
1 2 5

9. Să se realizeze un program care citeşte de la tastatură un vector de


studenți cu următoarele câmpuri: nume, prenume, facultate, grupă şi medie. Să
se afişeze vectorul creat, să se caute un anumit student după nume, să se
şteargă un student după nume şi să se ordoneze vectorul după medie
(descrescător).

Rezolvare:
import java.io.*;

public class Student {


private String nume;
private String prenume;
private String facultate;
private int grupa;
private double medie;

//----------------CONSTRUCTOR-------------------------------------------------
public Student(String n, String p, String f, int g, double m)
{
nume=n;
prenume=p;
facultate=f;
grupa=g;
medie=m;
}

//------------AFISARE---------------------------------------------------------
public static void afisare(Student [] stud, int i)
{
System.out.println("Nume: "+stud[i].nume);
System.out.println("Prenume: "+stud[i].prenume);
System.out.println("Facultate: "+stud[i].facultate);
System.out.println("Grupa: "+stud[i].grupa);
System.out.println("Medie: "+stud[i].medie);
System.out.println("------------------------------");
}

//-------------CAUTARE--------------------------------------------------------
public static void cautare(Student []stud, int n, String nume_cautat)
{
for (int i=0; i<n; i++)
if (stud[i].nume.equals(nume_cautat))
{
System.out.println("Numele cautat se gaseste pe pozitia: "+(i+1));
return;
}
System.out.println("Numele cautat nu exista in vector!");

Oana-Sorina Chirila 10
Probleme rezolvate şi propuse - JAVA
}

//------------STERGERE-------------------------------------------------------
public static int stergere(Student []stud, int n, String nume_sters)
{
for (int i=0; i<n; i++)
if (stud[i].nume.equals(nume_sters))
{
for (int j=i; j<n-1; j++)
stud[j]=stud[j+1];
n--;
}
return n;
}

//---------------SORTARE------------------------------------------------------

public static void sortare(Student []stud, int n)


{
boolean ordonat;
Student aux;

ordonat=false;
while(!ordonat)
{
ordonat=true;
for(int i=0;i<n-1;i++)
if(stud[i].medie<stud[i+1].medie)
{
aux=stud[i];
stud[i]=stud[i+1];
stud[i+1]=aux;
ordonat=false;
}
}

System.out.println("Tabloul ordonat este:");


for(int i=0;i<n;i++)
afisare(stud,i);
}

//----------------MAIN--------------------------------------------------------
public static void main(String[] args) throws Exception
{
Student [] stud=new Student[20];
int n;
String num, pren, fac,nume_c, nume_s;
int gr;
double med;

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Dati numarul de studenti: ");


n=Integer.parseInt(br.readLine());

Oana-Sorina Chirila 11
Probleme rezolvate şi propuse - JAVA

//citire vector studenti


for (int i=0; i<n; i++)
{
System.out.print("Dati numele studentului: ");
num=br.readLine();
System.out.print("Dati prenumele studentului: ");
pren=br.readLine();
System.out.print("Dati facultatea studentului: ");
fac=br.readLine();
System.out.print("Dati grupa studentului: ");
gr=Integer.parseInt(br.readLine());
System.out.print("Dati media studentului: ");
med=Double.parseDouble(br.readLine());

stud[i]=new Student(num,pren,fac,gr,med);
}
System.out.println("\nStudenti introdusi sunt:");
for (int i=0; i<n; i++)
afisare(stud,i);

//cautare
System.out.print("Dati numele cautat: ");
nume_c=br.readLine();
cautare(stud,n,nume_c);

//stergere
System.out.print("Dati numele care doriti sa-l stergeti: ");
nume_s=br.readLine();
n=stergere(stud,n,nume_s);

for (int i=0; i<n; i++)


afisare(stud,i);

//ordonare
sortare(stud,n);

}
}

Rezultat la rulare:

Dati numarul de studenti: 4


Dati numele studentului: Ionescu
Dati prenumele studentului: Ana
Dati facultatea studentului: AC
Dati grupa studentului: 2
Dati media studentului: 8
Dati numele studentului: Pop
Dati prenumele studentului: Vasi
Dati facultatea studentului: ET

Oana-Sorina Chirila 12
Probleme rezolvate şi propuse - JAVA
Dati grupa studentului: 2
Dati media studentului: 8.3
Dati numele studentului: Ene
Dati prenumele studentului: Amalia
Dati facultatea studentului: AC
Dati grupa studentului: 1
Dati media studentului: 10
Dati numele studentului: Popa
Dati prenumele studentului: Dana
Dati facultatea studentului: ET
Dati grupa studentului: 1
Dati media studentului: 9

Studenti introdusi sunt:


Nume: Ionescu
Prenume: Ana
Facultate: AC
Grupa: 2
Medie: 8.0
------------------------------
Nume: Pop
Prenume: Vasi
Facultate: ET
Grupa: 2
Medie: 8.3
------------------------------
Nume: Ene
Prenume: Amalia
Facultate: AC
Grupa: 1
Medie: 10.0
------------------------------
Nume: Popa
Prenume: Dana
Facultate: ET
Grupa: 1
Medie: 9.0
------------------------------
Dati numele cautat: Popa
Numele cautat se gaseste pe pozitia: 4

Dati numele care doriti sa-l stergeti: Ene


Nume: Ionescu
Prenume: Ana
Facultate: AC
Grupa: 2
Medie: 8.0
------------------------------
Nume: Pop
Prenume: Vasi
Facultate: ET
Grupa: 2
Medie: 8.3
------------------------------

Oana-Sorina Chirila 13
Probleme rezolvate şi propuse - JAVA
Nume: Popa
Prenume: Dana
Facultate: ET
Grupa: 1
Medie: 9.0
------------------------------

Tabloul ordonat este:


Nume: Popa
Prenume: Dana
Facultate: ET
Grupa: 1
Medie: 9.0
------------------------------
Nume: Pop
Prenume: Vasi
Facultate: ET
Grupa: 2
Medie: 8.3
------------------------------
Nume: Ionescu
Prenume: Ana
Facultate: AC
Grupa: 2
Medie: 8.0
------------------------------

Oana-Sorina Chirila 14
Probleme rezolvate şi propuse - JAVA

10. Să se realizeze un program care iniţializează 3 variabile (nume,


prenume, vârsta) şi supraîncarcă funcţia toString().

Rezolvare:

public class SupraincarcareOperatori {

String nume="Ionescu";
String prenume="Ana";
int varsta=20;

public String toString()


{
return nume +" " + prenume+" are "+varsta+" ani.";
}

public static void main(String[] args) {

SupraincarcareOperatori s1=new SupraincarcareOperatori();


System.out.println(s1.toString());
}
}

Rezultat la rulare:

Ionescu Ana are 20 ani.

Oana-Sorina Chirila 15

S-ar putea să vă placă și