<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vaniusca 23</title>
    <description>The latest articles on DEV Community by Vaniusca 23 (@vaniusca_23_e2be1f11528b9).</description>
    <link>https://dev.to/vaniusca_23_e2be1f11528b9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2733063%2F39610f09-8bfc-4800-bce8-42f0763fbaad.png</url>
      <title>DEV Community: Vaniusca 23</title>
      <link>https://dev.to/vaniusca_23_e2be1f11528b9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vaniusca_23_e2be1f11528b9"/>
    <language>en</language>
    <item>
      <title>Java methods and classes examples 2</title>
      <dc:creator>Vaniusca 23</dc:creator>
      <pubDate>Sat, 25 Jan 2025 18:03:00 +0000</pubDate>
      <link>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-2-4d5a</link>
      <guid>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-2-4d5a</guid>
      <description>&lt;p&gt;What is a Class in Java? A class is a blueprint for creating objects. It defines attributes (variables) and methods (functions) that describe the behavior of an object.&lt;br&gt;
Basic Syntax of a Class&lt;/p&gt;

&lt;p&gt;`// defining a class&lt;br&gt;
public class Car {&lt;br&gt;
// attributes (variables)&lt;br&gt;
String brand;&lt;br&gt;
int speed;&lt;/p&gt;

&lt;p&gt;// method (function)&lt;br&gt;
void honk() {&lt;br&gt;
    System.out.println("Beep Beep!");&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car is a class.&lt;br&gt;
brand and speed are attributes (also called instance variables).&lt;br&gt;
honk() is a method (a function inside a class).&lt;/p&gt;

&lt;p&gt;How to Create an Object? An object is an instance of a class. You create objects using the new keyword.&lt;br&gt;
Creating an Object in Java&lt;/p&gt;

&lt;p&gt;`public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// creating an object of the Car class&lt;br&gt;
Car myCar = new Car();&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// assigning values to attributes
myCar.brand = "Toyota";
myCar.speed = 120;

// calling a method
myCar.honk();

// printing attributes
System.out.println("Brand: " + myCar.brand);
System.out.println("Speed: " + myCar.speed + " km/h");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;makefile&lt;br&gt;
Beep Beep!&lt;br&gt;
Brand: Toyota&lt;br&gt;
Speed: 120 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car myCar = new Car(); → Creates an object named myCar.&lt;br&gt;
myCar.brand = "Toyota"; → Assigns a value to brand.&lt;br&gt;
myCar.honk(); → Calls the honk() method.&lt;/p&gt;

&lt;p&gt;Constructors in Java A constructor is a special method that is automatically called when an object is created.&lt;br&gt;
Example of a Constructor&lt;/p&gt;

&lt;p&gt;`public class Car {&lt;br&gt;
String brand;&lt;br&gt;
int speed;&lt;/p&gt;

&lt;p&gt;// constructor&lt;br&gt;
public Car(String brand, int speed) {&lt;br&gt;
    this.brand = brand;&lt;br&gt;
    this.speed = speed;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// method to display car details&lt;br&gt;
void displayCar() {&lt;br&gt;
    System.out.println("Brand: " + brand);&lt;br&gt;
    System.out.println("Speed: " + speed + " km/h");&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// using constructor to initialize values&lt;br&gt;
Car myCar = new Car("Honda", 150);&lt;br&gt;
myCar.displayCar();&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Brand: Honda&lt;br&gt;
Speed: 150 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The constructor Car(String brand, int speed) initializes attributes when the object is created.&lt;br&gt;
The this keyword refers to the current object's instance.&lt;/p&gt;

&lt;p&gt;Types of Methods in Java Java has two types of methods:&lt;br&gt;
Instance Methods (work with object data)&lt;br&gt;
Static Methods (belong to the class, not objects)&lt;br&gt;
Example of Instance and Static Methods&lt;/p&gt;

&lt;p&gt;`public class MathOperations {&lt;br&gt;
// instance method&lt;br&gt;
int square(int x) {&lt;br&gt;
return x * x;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// static method&lt;br&gt;
static int add(int a, int b) {&lt;br&gt;
    return a + b;&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// calling an instance method&lt;br&gt;
MathOperations math = new MathOperations();&lt;br&gt;
int result = math.square(5);&lt;br&gt;
System.out.println("Square: " + result);&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// calling a static method
int sum = MathOperations.add(10, 20);
System.out.println("Sum: " + sum);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Square: 25&lt;br&gt;
Sum: 30&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;square(int x) is an instance method, so we need to create an object (math.square(5);).&lt;br&gt;
add(int a, int b) is a static method, so we can call it directly using the class name (MathOperations.add(10, 20);).&lt;/p&gt;

&lt;p&gt;Method Overloading in Java Method Overloading allows multiple methods with the same name but different parameters.&lt;br&gt;
Example of Method Overloading&lt;/p&gt;

&lt;p&gt;`public class Calculator {&lt;br&gt;
// method with two parameters&lt;br&gt;
int add(int a, int b) {&lt;br&gt;
return a + b;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// overloaded method with three parameters&lt;br&gt;
int add(int a, int b, int c) {&lt;br&gt;
    return a + b + c;&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
Calculator calc = new Calculator();&lt;br&gt;
System.out.println("Sum (2 numbers): " + calc.add(10, 20));&lt;br&gt;
System.out.println("Sum (3 numbers): " + calc.add(10, 20, 30));&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Sum (2 numbers): 30&lt;br&gt;
Sum (3 numbers): 60&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The method add() is overloaded (two versions with different numbers of parameters).&lt;br&gt;
The compiler automatically selects the correct method.&lt;/p&gt;

&lt;p&gt;Subiectul 3 - Masina&lt;/p&gt;

&lt;p&gt;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
public class Masina {&lt;br&gt;
   private int carId;&lt;br&gt;
   private String carMarca;&lt;br&gt;
   private int carService;   // 0/1 = nu e / e în service&lt;br&gt;
   private double carVenit;&lt;br&gt;
   private double carCheltuiala;&lt;/p&gt;

&lt;p&gt;// Constructor explicit&lt;br&gt;
   public Masina(int carId, String carMarca, int carService, double carVenit, double carCheltuiala) {&lt;br&gt;
       this.carId = carId;&lt;br&gt;
       this.carMarca = carMarca;&lt;br&gt;
       this.carService = carService;&lt;br&gt;
       this.carVenit = carVenit;&lt;br&gt;
       this.carCheltuiala = carCheltuiala;&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// Geteri și seteri (id,marca,seevice,venit, cheltuiala)&lt;br&gt;
   public int getId() { return carId; }&lt;br&gt;
   public void setId(int carId) { this.carId = carId; }&lt;/p&gt;

&lt;p&gt;public String getMarca() { return carMarca; }&lt;br&gt;
   public void setMarca(String carMarca) { this.carMarca = carMarca; }&lt;/p&gt;

&lt;p&gt;public int getService() { return carService; }&lt;br&gt;
   public void setService(int carService) { this.carService = carService; }&lt;/p&gt;

&lt;p&gt;public double getVenit() { return carVenit; }&lt;br&gt;
   public void addVenit(double suma) { this.carVenit += suma; }&lt;/p&gt;

&lt;p&gt;public double getCheltuiala() { return carCheltuiala; }&lt;br&gt;
   public void addCheltuiala(double suma) { this.carCheltuiala += suma; }&lt;/p&gt;

&lt;p&gt;// toString pentru informatii despre masina&lt;br&gt;
   &lt;a class="mentioned-user" href="https://dev.to/override"&gt;@override&lt;/a&gt;&lt;br&gt;
   public String toString() {&lt;br&gt;
       return "Masina [ID=" + carId + ", Marca=" + carMarca + ", Service=" + (carService == 1 ? "DA" : "NU") +&lt;br&gt;
               ", Venit=" + carVenit + ", Cheltuieli=" + carCheltuiala + "]";&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
import java.awt.&lt;em&gt;;&lt;br&gt;
import java.awt.event.&lt;/em&gt;;&lt;br&gt;
import java.util.ArrayList;&lt;/p&gt;

&lt;p&gt;public class TihanIoan extends Frame {&lt;br&gt;
   private ArrayList masini = new ArrayList&amp;lt;&amp;gt;(); // Lista de masini&lt;br&gt;
   private List listMasini = new List(); // Listă pentru afișarea mașinilor&lt;br&gt;
   private Button btnAdaugaMasina = new Button("Adaugă Mașină"); // Buton pentru a deschide alt formular&lt;br&gt;
   public TihanIoan() {&lt;br&gt;
       // Setăm dereastra princ.&lt;br&gt;
       setTitle("Gestionare Mașini");&lt;br&gt;
       setSize(400, 300);&lt;br&gt;
       setLayout(new FlowLayout());&lt;br&gt;
       setVisible(true);&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   //componente
   add(new Label("Lista Mașini:"));
   add(listMasini);
   add(btnAdaugaMasina);


   //deschiderea formularului
   btnAdaugaMasina.addActionListener(e -&amp;gt; new FormularAdaugareMasina());


   // inchidere principala
   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;class FormularAdaugareMasina extends Frame {&lt;br&gt;
       private TextField txtId = new TextField(10);&lt;br&gt;
       private TextField txtMarca = new TextField(10);&lt;br&gt;
       private Button btnSalveaza = new Button("Salvează");&lt;br&gt;
       private Button btnAnuleaza = new Button("Anulează");&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   public FormularAdaugareMasina() {
       // Setam adauga maisna
       setTitle("Adaugă Mașină");
       setSize(250, 200);
       setLayout(new FlowLayout());
       setVisible(true);


       // Adaugam componente pentru formular
       add(new Label("ID Mașină:"));
       add(txtId);
       add(new Label("Marca Mașinii:"));
       add(txtMarca);
       add(btnSalveaza);
       add(btnAnuleaza);


       // salvam masina
       btnSalveaza.addActionListener(e -&amp;gt; {
           try {
               int id = Integer.parseInt(txtId.getText());
               String marca = txtMarca.getText().trim();


               if (marca.isEmpty()) {
                   showMessage("Introduceți o marcă validă!");
                   return;
               }


               // adaugam maina noua
               Masina masina = new Masina(id, marca, 0, 0.0, 0.0);
               masini.add(masina);
               listMasini.add(marca); // Adăugăm marca în lista vizuală



               dispose();
           } catch (NumberFormatException ex) {
               showMessage("ID-ul trebuie să fie un număr!");
           }
       });


       // anulam
       btnAnuleaza.addActionListener(e -&amp;gt; dispose());


       addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
               dispose();
           }
       });
   }


   // mesaj de eroare
   private void showMessage(String message) {
       Dialog dialog = new Dialog(this, "Atenție", true);
       dialog.setLayout(new FlowLayout());
       dialog.add(new Label(message));
       Button btnOk = new Button("OK");
       btnOk.addActionListener(e -&amp;gt; dialog.setVisible(false));
       dialog.add(btnOk);
       dialog.setSize(200, 100);
       dialog.setVisible(true);
   }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;// main-ul aplicatiei finale&lt;br&gt;
   public static void main(String[] args) {&lt;br&gt;
       new TihanIoan();&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;

&lt;p&gt;import java.awt.&lt;em&gt;;&lt;br&gt;
import java.awt.event.&lt;/em&gt;;&lt;br&gt;
import java.util.ArrayList;&lt;/p&gt;

&lt;p&gt;public class TihanIoan extends Frame {&lt;br&gt;
   private ArrayList masini = new ArrayList&amp;lt;&amp;gt;();&lt;br&gt;
   private List listMasini = new List();&lt;/p&gt;

&lt;p&gt;private TextField txtId = new TextField();&lt;br&gt;
   private TextField txtMarca = new TextField();&lt;br&gt;
   private TextField txtVenit = new TextField();&lt;br&gt;
   private TextField txtCheltuiala = new TextField();&lt;/p&gt;

&lt;p&gt;private Button btnAdaugaMasina = new Button("Adauga o masina noua");&lt;br&gt;
   private Button btnAdaugaVenit = new Button("Adauga venit");&lt;br&gt;
   private Button btnAdaugaCheltuiala = new Button("Adauga cheltuiala");&lt;br&gt;
   private Button btnAfisare = new Button("Informatii actuale");&lt;/p&gt;

&lt;p&gt;private Checkbox checkService = new Checkbox("Masina este in service");&lt;br&gt;
   private Label lblInfo = new Label("Informatii despre masina selectata");&lt;/p&gt;

&lt;p&gt;public TihanIoan() {&lt;br&gt;
       setTitle("Gestionare Masini");&lt;br&gt;
       setSize(1300, 300);&lt;br&gt;
       setLayout(new FlowLayout());&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   add(new Label("ID Masina:"));
   add(txtId);
   txtId.setColumns(10);


   add(new Label("Marca Masinii:"));
   add(txtMarca);
   txtMarca.setColumns(10);


   add(btnAdaugaMasina);
   add(listMasini);


   add(new Label("Suma Venit:"));
   add(txtVenit);
   txtVenit.setColumns(10);
   add(btnAdaugaVenit);


   add(new Label("Suma Cheltuială:"));
   add(txtCheltuiala);
   txtCheltuiala.setColumns(10);
   add(btnAdaugaCheltuiala);


   add(checkService);
   add(btnAfisare);
   add(lblInfo);


   // Eveniment adauga masina
   btnAdaugaMasina.addActionListener(e -&amp;gt; {
       try {
           int id = Integer.parseInt(txtId.getText());
           String marca = txtMarca.getText();
           Masina masina = new Masina(id, marca, 0, 0.0, 0.0);
           masini.add(masina);
           listMasini.add(marca);
       } catch (NumberFormatException ex) {
           showAlert("ID-ul trebuie să fie numar!!");
       }
   });


   // Eveniment adauga venit
   btnAdaugaVenit.addActionListener(e -&amp;gt; {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           if (masina.getService() == 0) {
               masina.addVenit(Double.parseDouble(txtVenit.getText()));
           } else {
               showAlert("Masina este in service! Nu poti adauga venituri.");
           }
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   // Eveniment adauga cheltuiala
   btnAdaugaCheltuiala.addActionListener(e -&amp;gt; {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           masina.addCheltuiala(Double.parseDouble(txtCheltuiala.getText()));
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   // Eveniment service
   listMasini.addItemListener(e -&amp;gt; {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           checkService.setState(masina.getService() == 1);
       }
   });


   checkService.addItemListener(e -&amp;gt; {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           masina.setService(checkService.getState() ? 1 : 0);
       }
   });


   // Buton pentru inforamtii
   btnAfisare.addActionListener(e -&amp;gt; {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           lblInfo.setText(masina.toString());
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });


   setVisible(true);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private void showAlert(String message) {&lt;br&gt;
       Dialog dialog = new Dialog(this, "Atentie", true);&lt;br&gt;
       dialog.setLayout(new FlowLayout());&lt;br&gt;
       dialog.add(new Label(message));&lt;br&gt;
       Button btnOk = new Button("OK");&lt;br&gt;
       btnOk.addActionListener(e -&amp;gt; dialog.setVisible(false));&lt;br&gt;
       dialog.add(btnOk);&lt;br&gt;
       dialog.setSize(350, 100);&lt;br&gt;
       dialog.setVisible(true);&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;public static void main(String[] args) {&lt;br&gt;
       new TihanIoan();&lt;br&gt;
   }&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Java methods and classes examples 1</title>
      <dc:creator>Vaniusca 23</dc:creator>
      <pubDate>Sat, 25 Jan 2025 18:02:14 +0000</pubDate>
      <link>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-1-26db</link>
      <guid>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-1-26db</guid>
      <description>&lt;p&gt;What is a Class in Java? A class is a blueprint for creating objects. It defines attributes (variables) and methods (functions) that describe the behavior of an object.&lt;br&gt;
Basic Syntax of a Class&lt;/p&gt;

&lt;p&gt;`// defining a class&lt;br&gt;
public class Car {&lt;br&gt;
// attributes (variables)&lt;br&gt;
String brand;&lt;br&gt;
int speed;&lt;/p&gt;

&lt;p&gt;// method (function)&lt;br&gt;
void honk() {&lt;br&gt;
    System.out.println("Beep Beep!");&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car is a class.&lt;br&gt;
brand and speed are attributes (also called instance variables).&lt;br&gt;
honk() is a method (a function inside a class).&lt;/p&gt;

&lt;p&gt;How to Create an Object? An object is an instance of a class. You create objects using the new keyword.&lt;br&gt;
Creating an Object in Java&lt;/p&gt;

&lt;p&gt;`public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// creating an object of the Car class&lt;br&gt;
Car myCar = new Car();&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// assigning values to attributes
myCar.brand = "Toyota";
myCar.speed = 120;

// calling a method
myCar.honk();

// printing attributes
System.out.println("Brand: " + myCar.brand);
System.out.println("Speed: " + myCar.speed + " km/h");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;makefile&lt;br&gt;
Beep Beep!&lt;br&gt;
Brand: Toyota&lt;br&gt;
Speed: 120 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car myCar = new Car(); → Creates an object named myCar.&lt;br&gt;
myCar.brand = "Toyota"; → Assigns a value to brand.&lt;br&gt;
myCar.honk(); → Calls the honk() method.&lt;/p&gt;

&lt;p&gt;Constructors in Java A constructor is a special method that is automatically called when an object is created.&lt;br&gt;
Example of a Constructor&lt;/p&gt;

&lt;p&gt;`public class Car {&lt;br&gt;
String brand;&lt;br&gt;
int speed;&lt;/p&gt;

&lt;p&gt;// constructor&lt;br&gt;
public Car(String brand, int speed) {&lt;br&gt;
    this.brand = brand;&lt;br&gt;
    this.speed = speed;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// method to display car details&lt;br&gt;
void displayCar() {&lt;br&gt;
    System.out.println("Brand: " + brand);&lt;br&gt;
    System.out.println("Speed: " + speed + " km/h");&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// using constructor to initialize values&lt;br&gt;
Car myCar = new Car("Honda", 150);&lt;br&gt;
myCar.displayCar();&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Brand: Honda&lt;br&gt;
Speed: 150 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The constructor Car(String brand, int speed) initializes attributes when the object is created.&lt;br&gt;
The this keyword refers to the current object's instance.&lt;/p&gt;

&lt;p&gt;Types of Methods in Java Java has two types of methods:&lt;br&gt;
Instance Methods (work with object data)&lt;br&gt;
Static Methods (belong to the class, not objects)&lt;br&gt;
Example of Instance and Static Methods&lt;/p&gt;

&lt;p&gt;`public class MathOperations {&lt;br&gt;
// instance method&lt;br&gt;
int square(int x) {&lt;br&gt;
return x * x;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// static method&lt;br&gt;
static int add(int a, int b) {&lt;br&gt;
    return a + b;&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
// calling an instance method&lt;br&gt;
MathOperations math = new MathOperations();&lt;br&gt;
int result = math.square(5);&lt;br&gt;
System.out.println("Square: " + result);&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// calling a static method
int sum = MathOperations.add(10, 20);
System.out.println("Sum: " + sum);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Square: 25&lt;br&gt;
Sum: 30&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;square(int x) is an instance method, so we need to create an object (math.square(5);).&lt;br&gt;
add(int a, int b) is a static method, so we can call it directly using the class name (MathOperations.add(10, 20);).&lt;/p&gt;

&lt;p&gt;Method Overloading in Java Method Overloading allows multiple methods with the same name but different parameters.&lt;br&gt;
Example of Method Overloading&lt;/p&gt;

&lt;p&gt;`public class Calculator {&lt;br&gt;
// method with two parameters&lt;br&gt;
int add(int a, int b) {&lt;br&gt;
return a + b;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// overloaded method with three parameters&lt;br&gt;
int add(int a, int b, int c) {&lt;br&gt;
    return a + b + c;&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
public static void main(String[] args) {&lt;br&gt;
Calculator calc = new Calculator();&lt;br&gt;
System.out.println("Sum (2 numbers): " + calc.add(10, 20));&lt;br&gt;
System.out.println("Sum (3 numbers): " + calc.add(10, 20, 30));&lt;br&gt;
}&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Sum (2 numbers): 30&lt;br&gt;
Sum (3 numbers): 60&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The method add() is overloaded (two versions with different numbers of parameters).&lt;br&gt;
The compiler automatically selects the correct method.&lt;/p&gt;

&lt;p&gt;// clasa angajati&lt;br&gt;
public class Angajati {&lt;br&gt;
   private String angNume; // nume angajat&lt;br&gt;
   private double tarifOrar; // tarif orar&lt;br&gt;
   private int oreLucrate; // ore lucrate&lt;br&gt;
   private double avansSalariu; // avans salariu&lt;/p&gt;

&lt;p&gt;// constructor&lt;br&gt;
   public Angajati(String angNume, double tarifOrar, int oreLucrate, double avansSalariu) {&lt;br&gt;
       this.angNume = angNume;&lt;br&gt;
       this.tarifOrar = tarifOrar;&lt;br&gt;
       this.oreLucrate = oreLucrate;&lt;br&gt;
       this.avansSalariu = avansSalariu;&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// getter nume&lt;br&gt;
   public String getNume() { return angNume; }&lt;/p&gt;

&lt;p&gt;// setter nume&lt;br&gt;
   public void setNume(String angNume) { this.angNume = angNume; }&lt;/p&gt;

&lt;p&gt;// getter tarif&lt;br&gt;
   public double getTarif() { return tarifOrar; }&lt;/p&gt;

&lt;p&gt;// setter tarif&lt;br&gt;
   public void setTarif(double tarifOrar) { this.tarifOrar = tarifOrar; }&lt;/p&gt;

&lt;p&gt;// getter ore&lt;br&gt;
   public int getOre() { return oreLucrate; }&lt;/p&gt;

&lt;p&gt;// setter ore&lt;br&gt;
   public void setOre(int oreLucrate) { this.oreLucrate = oreLucrate; }&lt;/p&gt;

&lt;p&gt;// getter avans&lt;br&gt;
   public double getAvans() { return avansSalariu; }&lt;/p&gt;

&lt;p&gt;// setter avans&lt;br&gt;
   public void setAvans(double avansSalariu) { this.avansSalariu = avansSalariu; }&lt;/p&gt;

&lt;p&gt;// toString&lt;br&gt;
   &lt;a class="mentioned-user" href="https://dev.to/override"&gt;@override&lt;/a&gt;&lt;br&gt;
   public String toString() {&lt;br&gt;
       return "angajat: " + angNume + "\n" +&lt;br&gt;
               "tarif orar: " + tarifOrar + " RON\n" +&lt;br&gt;
               "ore lucrate: " + oreLucrate + "\n" +&lt;br&gt;
               "avans salariu: " + avansSalariu + " RON";&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
import java.awt.*;&lt;/p&gt;

&lt;p&gt;public class TihanIoan extends Frame {&lt;br&gt;
   // lista angajati&lt;br&gt;
   private List listAngajati = new List();&lt;/p&gt;

&lt;p&gt;// casete de introducere text&lt;br&gt;
   private TextField txtNume = new TextField(15);&lt;br&gt;
   private TextField txtTarif = new TextField(10);&lt;br&gt;
   private TextField txtOre = new TextField(10);&lt;br&gt;
   private TextField txtAvans = new TextField(10);&lt;/p&gt;

&lt;p&gt;// butoane&lt;br&gt;
   private Button btnAdauga = new Button("Adauga");&lt;br&gt;
   private Button btnSterge = new Button("Sterge");&lt;br&gt;
   private Button btnSetNume = new Button("Set Nume");&lt;br&gt;
   private Button btnSetTarif = new Button("Set Tarif");&lt;br&gt;
   private Button btnSetOre = new Button("Set Ore");&lt;br&gt;
   private Button btnSetAvans = new Button("Set Avans");&lt;/p&gt;

&lt;p&gt;// etichete&lt;br&gt;
   private Label lblNume = new Label("Nume:");&lt;br&gt;
   private Label lblTarif = new Label("Tarif Orar:");&lt;br&gt;
   private Label lblOre = new Label("Ore Lucrate:");&lt;br&gt;
   private Label lblAvans = new Label("Avans Salariu:");&lt;br&gt;
   private Label lblLista = new Label("Lista Angajati:");&lt;/p&gt;

&lt;p&gt;public TihanIoan() {&lt;br&gt;
       // setari fereastra&lt;br&gt;
       setTitle("Formular Angajati");&lt;br&gt;
       setSize(400, 300);&lt;br&gt;
       setLayout(new FlowLayout());&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   // adaugare componente
   add(lblLista);
   add(listAngajati);


   add(lblNume); add(txtNume);
   add(lblTarif); add(txtTarif);
   add(lblOre); add(txtOre);
   add(lblAvans); add(txtAvans);


   add(btnAdauga);
   add(btnSterge);
   add(btnSetNume);
   add(btnSetTarif);
   add(btnSetOre);
   add(btnSetAvans);


   // inchidere fereastra
   addWindowListener(new java.awt.event.WindowAdapter() {
       public void windowClosing(java.awt.event.WindowEvent e) {
           dispose();
       }
   });


   setVisible(true);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public static void main(String[] args) {&lt;br&gt;
       new TihanIoan();&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
import java.awt.&lt;em&gt;;&lt;br&gt;
import java.awt.event.&lt;/em&gt;;&lt;br&gt;
import java.util.ArrayList;&lt;/p&gt;

&lt;p&gt;// clasa principala&lt;br&gt;
public class TihanIoan extends Frame {&lt;br&gt;
   private List angajatiList; // lista angajati&lt;br&gt;
   private TextField numeField, tarifField, oreField, avansField; // casete text&lt;br&gt;
   private TextArea infoArea; // zona informatii&lt;br&gt;
   private ArrayList angajati; // lista obiecte angajati&lt;/p&gt;

&lt;p&gt;// constructor&lt;br&gt;
   public TihanIoan() {&lt;br&gt;
       angajati = new ArrayList&amp;lt;&amp;gt;(); // initializare lista&lt;br&gt;
       setLayout(new FlowLayout()); // layout simplu&lt;br&gt;
       setSize(800, 300); // dimensiune fereastra&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   // lista angajati
   angajatiList = new List();
   angajatiList.addItemListener(e -&amp;gt; afiseazaDetalii()); // eveniment selectare
   add(angajatiList);


   // casete text
   numeField = new TextField(10);
   add(new Label("Nume:")); add(numeField);


   tarifField = new TextField(5);
   add(new Label("Tarif Orar:")); add(tarifField);


   oreField = new TextField(5);
   add(new Label("Ore Lucrate:")); add(oreField);


   avansField = new TextField(5);
   add(new Label("Avans Salariu:")); add(avansField);


   // butoane
   Button setNume = new Button("Set Nume");
   setNume.addActionListener(e -&amp;gt; setNume());
   add(setNume);


   Button setTarif = new Button("Set Tarif");
   setTarif.addActionListener(e -&amp;gt; setTarif());
   add(setTarif);


   Button setOre = new Button("Set Ore");
   setOre.addActionListener(e -&amp;gt; setOre());
   add(setOre);


   Button setAvans = new Button("Set Avans");
   setAvans.addActionListener(e -&amp;gt; setAvans());
   add(setAvans);


   Button adaugaAngajat = new Button("Adauga Angajat");
   adaugaAngajat.addActionListener(e -&amp;gt; adaugaAngajat());
   add(adaugaAngajat);


   Button afiseazaInfo = new Button("Afiseaza Info");
   afiseazaInfo.addActionListener(e -&amp;gt; afiseazaInfo());
   add(afiseazaInfo);


   // zona informatii
   infoArea = new TextArea(4, 50);
   infoArea.setEditable(false);
   add(infoArea);


   // inchidere fereastra
   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;// setare nume&lt;br&gt;
   private void setNume() {&lt;br&gt;
       if (!angajati.isEmpty())&lt;br&gt;
           angajati.get(angajatiList.getSelectedIndex()).setNume(numeField.getText());&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// setare tarif&lt;br&gt;
   private void setTarif() {&lt;br&gt;
       if (!angajati.isEmpty())&lt;br&gt;
           angajati.get(angajatiList.getSelectedIndex()).setTarif(Double.parseDouble(tarifField.getText()));&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// setare ore&lt;br&gt;
   private void setOre() {&lt;br&gt;
       if (!angajati.isEmpty())&lt;br&gt;
           angajati.get(angajatiList.getSelectedIndex()).setOre(Integer.parseInt(oreField.getText()));&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// setare avans&lt;br&gt;
   private void setAvans() {&lt;br&gt;
       if (!angajati.isEmpty())&lt;br&gt;
           angajati.get(angajatiList.getSelectedIndex()).setAvans(Double.parseDouble(avansField.getText()));&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// adaugare angajat&lt;br&gt;
   private void adaugaAngajat() {&lt;br&gt;
       String nume = numeField.getText().isEmpty() ? "Anonim" : numeField.getText();&lt;br&gt;
       double tarif = tarifField.getText().isEmpty() ? 0.0 : Double.parseDouble(tarifField.getText());&lt;br&gt;
       int ore = oreField.getText().isEmpty() ? 0 : Integer.parseInt(oreField.getText());&lt;br&gt;
       double avans = avansField.getText().isEmpty() ? 0.0 : Double.parseDouble(avansField.getText());&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Angajati angajat = new Angajati(nume, tarif, ore, avans);
   angajati.add(angajat);
   angajatiList.add(nume);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;// afisare detalii&lt;br&gt;
   private void afiseazaDetalii() {&lt;br&gt;
       if (!angajati.isEmpty() &amp;amp;&amp;amp; angajatiList.getSelectedIndex() &amp;gt;= 0) {&lt;br&gt;
           Angajati angajat = angajati.get(angajatiList.getSelectedIndex());&lt;br&gt;
           numeField.setText(angajat.getNume());&lt;br&gt;
           tarifField.setText(String.valueOf(angajat.getTarif()));&lt;br&gt;
           oreField.setText(String.valueOf(angajat.getOre()));&lt;br&gt;
           avansField.setText(String.valueOf(angajat.getAvans()));&lt;br&gt;
       }&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// afisare informatii&lt;br&gt;
   private void afiseazaInfo() {&lt;br&gt;
       if (!angajati.isEmpty() &amp;amp;&amp;amp; angajatiList.getSelectedIndex() &amp;gt;= 0) {&lt;br&gt;
           infoArea.setText(angajati.get(angajatiList.getSelectedIndex()).toString());&lt;br&gt;
       }&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// metoda principala&lt;br&gt;
   public static void main(String[] args) {&lt;br&gt;
       new TihanIoan().setVisible(true);&lt;br&gt;
   }&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Java methods and classes examples</title>
      <dc:creator>Vaniusca 23</dc:creator>
      <pubDate>Sat, 25 Jan 2025 17:57:52 +0000</pubDate>
      <link>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-23mi</link>
      <guid>https://dev.to/vaniusca_23_e2be1f11528b9/java-methods-and-classes-examples-23mi</guid>
      <description>&lt;ol&gt;
&lt;li&gt;What is a Class in Java?
A class is a blueprint for creating objects. It defines attributes (variables) and methods (functions) that describe the behavior of an object.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Basic Syntax of a Class&lt;/p&gt;

&lt;p&gt;`// defining a class&lt;br&gt;
public class Car {&lt;br&gt;
    // attributes (variables)&lt;br&gt;
    String brand;&lt;br&gt;
    int speed;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// method (function)
void honk() {
    System.out.println("Beep Beep!");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}`&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car is a class.&lt;br&gt;
brand and speed are attributes (also called instance variables).&lt;br&gt;
honk() is a method (a function inside a class).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to Create an Object?
An object is an instance of a class. You create objects using the new keyword.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Creating an Object in Java&lt;/p&gt;

&lt;p&gt;`public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        // creating an object of the Car class&lt;br&gt;
        Car myCar = new Car();&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    // assigning values to attributes
    myCar.brand = "Toyota";
    myCar.speed = 120;

    // calling a method
    myCar.honk();

    // printing attributes
    System.out.println("Brand: " + myCar.brand);
    System.out.println("Speed: " + myCar.speed + " km/h");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;makefile&lt;br&gt;
Beep Beep!&lt;br&gt;
Brand: Toyota&lt;br&gt;
Speed: 120 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;Car myCar = new Car(); → Creates an object named myCar.&lt;br&gt;
myCar.brand = "Toyota"; → Assigns a value to brand.&lt;br&gt;
myCar.honk(); → Calls the honk() method.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Constructors in Java
A constructor is a special method that is automatically called when an object is created.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example of a Constructor&lt;/p&gt;

&lt;p&gt;`public class Car {&lt;br&gt;
    String brand;&lt;br&gt;
    int speed;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// constructor
public Car(String brand, int speed) {
    this.brand = brand;
    this.speed = speed;
}

// method to display car details
void displayCar() {
    System.out.println("Brand: " + brand);
    System.out.println("Speed: " + speed + " km/h");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        // using constructor to initialize values&lt;br&gt;
        Car myCar = new Car("Honda", 150);&lt;br&gt;
        myCar.displayCar();&lt;br&gt;
    }&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Brand: Honda&lt;br&gt;
Speed: 150 km/h&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The constructor Car(String brand, int speed) initializes attributes when the object is created.&lt;br&gt;
The this keyword refers to the current object's instance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Types of Methods in Java
Java has two types of methods:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instance Methods (work with object data)&lt;br&gt;
Static Methods (belong to the class, not objects)&lt;br&gt;
Example of Instance and Static Methods&lt;/p&gt;

&lt;p&gt;`public class MathOperations {&lt;br&gt;
    // instance method&lt;br&gt;
    int square(int x) {&lt;br&gt;
        return x * x;&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// static method
static int add(int a, int b) {
    return a + b;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        // calling an instance method&lt;br&gt;
        MathOperations math = new MathOperations();&lt;br&gt;
        int result = math.square(5);&lt;br&gt;
        System.out.println("Square: " + result);&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    // calling a static method
    int sum = MathOperations.add(10, 20);
    System.out.println("Sum: " + sum);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Square: 25&lt;br&gt;
Sum: 30&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;square(int x) is an instance method, so we need to create an object (math.square(5);).&lt;br&gt;
add(int a, int b) is a static method, so we can call it directly using the class name (MathOperations.add(10, 20);).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Method Overloading in Java
Method Overloading allows multiple methods with the same name but different parameters.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example of Method Overloading&lt;/p&gt;

&lt;p&gt;`public class Calculator {&lt;br&gt;
    // method with two parameters&lt;br&gt;
    int add(int a, int b) {&lt;br&gt;
        return a + b;&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// overloaded method with three parameters
int add(int a, int b, int c) {
    return a + b + c;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        Calculator calc = new Calculator();&lt;br&gt;
        System.out.println("Sum (2 numbers): " + calc.add(10, 20));&lt;br&gt;
        System.out.println("Sum (3 numbers): " + calc.add(10, 20, 30));&lt;br&gt;
    }&lt;br&gt;
}`&lt;br&gt;
🔹 Output:&lt;/p&gt;

&lt;p&gt;Sum (2 numbers): 30&lt;br&gt;
Sum (3 numbers): 60&lt;br&gt;
📌 Explanation:&lt;/p&gt;

&lt;p&gt;The method add() is overloaded (two versions with different numbers of parameters).&lt;br&gt;
The compiler automatically selects the correct method.&lt;/p&gt;

&lt;p&gt;// clasa student&lt;br&gt;
public class Student {&lt;br&gt;
   private String stdNume, denDisc1, denDisc2, denDisc3; // nume student si discipline&lt;br&gt;
   private int note1, note2, note3; // note pentru discipline&lt;/p&gt;

&lt;p&gt;// constructor&lt;br&gt;
   public Student(String stdNume, String denDisc1, String denDisc2, String denDisc3) {&lt;br&gt;
       this.stdNume = stdNume;&lt;br&gt;
       this.denDisc1 = denDisc1;&lt;br&gt;
       this.denDisc2 = denDisc2;&lt;br&gt;
       this.denDisc3 = denDisc3;&lt;br&gt;
       this.note1 = 0;&lt;br&gt;
       this.note2 = 0;&lt;br&gt;
       this.note3 = 0;&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;// get/set nume&lt;br&gt;
   public String getNume() { return stdNume; }&lt;br&gt;
   public void setNume(String stdNume) { this.stdNume = stdNume; }&lt;/p&gt;

&lt;p&gt;// get/set disciplina 1&lt;br&gt;
   public String getDisc1() { return denDisc1; }&lt;br&gt;
   public void setDisc1(String denDisc1) { this.denDisc1 = denDisc1; }&lt;/p&gt;

&lt;p&gt;// get/set disciplina 2&lt;br&gt;
   public String getDisc2() { return denDisc2; }&lt;br&gt;
   public void setDisc2(String denDisc2) { this.denDisc2 = denDisc2; }&lt;/p&gt;

&lt;p&gt;// get/set disciplina 3&lt;br&gt;
   public String getDisc3() { return denDisc3; }&lt;br&gt;
   public void setDisc3(String denDisc3) { this.denDisc3 = denDisc3; }&lt;/p&gt;

&lt;p&gt;// get/set nota 1&lt;br&gt;
   public int getNota1() { return note1; }&lt;br&gt;
   public void setNota1(int note1) { this.note1 = note1; }&lt;/p&gt;

&lt;p&gt;// get/set nota 2&lt;br&gt;
   public int getNota2() { return note2; }&lt;br&gt;
   public void setNota2(int note2) { this.note2 = note2; }&lt;/p&gt;

&lt;p&gt;// get/set nota 3&lt;br&gt;
   public int getNota3() { return note3; }&lt;br&gt;
   public void setNota3(int note3) { this.note3 = note3; }&lt;/p&gt;

&lt;p&gt;// toString&lt;br&gt;
   &lt;a class="mentioned-user" href="https://dev.to/override"&gt;@override&lt;/a&gt;&lt;br&gt;
   public String toString() {&lt;br&gt;
       return "student: " + stdNume + "\n" +&lt;br&gt;
               "disciplina 1: " + denDisc1 + " nota: " + note1 + "\n" +&lt;br&gt;
               "disciplina 2: " + denDisc2 + " nota: " + note2 + "\n" +&lt;br&gt;
               "disciplina 3: " + denDisc3 + " nota: " + note3;&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
import java.awt.*;&lt;/p&gt;

&lt;p&gt;// clasa principala&lt;br&gt;
public class TihanIoan extends Frame {&lt;br&gt;
   private Choice cmbDiscipline; // combobox&lt;br&gt;
   private List listaNote; // lista note&lt;br&gt;
   private TextField txtNota; // caseta text&lt;br&gt;
   private Label lblInfo; // eticheta&lt;br&gt;
   private Button btnSetNota, btnAdauga, btnAfisare; // butoane&lt;br&gt;
   private Student student; // obiect student&lt;/p&gt;

&lt;p&gt;public TihanIoan() {&lt;br&gt;
       // initializare student&lt;br&gt;
       student = new Student("Ioan Tihan", "Matematica", "Informatica", "Fizica");&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   // setari fereastra
   setTitle("formular student");
   setSize(400, 300);
   setLayout(new FlowLayout());


   // combobox discipline
   cmbDiscipline = new Choice();
   cmbDiscipline.add(student.getDisc1());
   cmbDiscipline.add(student.getDisc2());
   cmbDiscipline.add(student.getDisc3());
   add(cmbDiscipline);


   // caseta text pentru nota
   txtNota = new TextField(10);
   add(new Label("Introdu nota:"));
   add(txtNota);


   // lista note
   listaNote = new List();
   add(listaNote);


   // butoane
   btnSetNota = new Button("Set Nota");
   btnAdauga = new Button("Adauga Nota");
   btnAfisare = new Button("Afiseaza Info");


   add(btnSetNota);
   add(btnAdauga);
   add(btnAfisare);


   // eticheta informatii
   lblInfo = new Label("detalii student");
   add(lblInfo);


   // inchidere fereastra
   addWindowListener(new java.awt.event.WindowAdapter() {
       public void windowClosing(java.awt.event.WindowEvent e) {
           dispose();
       }
   });


   setVisible(true);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public static void main(String[] args) {&lt;br&gt;
       new TihanIoan();&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br&gt;
import java.awt.&lt;em&gt;;&lt;br&gt;
import java.awt.event.&lt;/em&gt;;&lt;br&gt;
import java.util.ArrayList;&lt;/p&gt;

&lt;p&gt;public class TihanIoan extends Frame {&lt;br&gt;
   private Choice discipline;&lt;br&gt;
   private List noteList;&lt;br&gt;
   private TextField notaField;&lt;br&gt;
   private TextArea infoArea;&lt;br&gt;
   private Student student;&lt;br&gt;
   private ArrayList noteDisc1, noteDisc2, noteDisc3;&lt;/p&gt;

&lt;p&gt;public TihanIoan() {&lt;br&gt;
       student = new Student("Ioan Tihan", "Matematica", "Informatica", "Fizica");&lt;br&gt;
       noteDisc1 = new ArrayList&amp;lt;&amp;gt;();&lt;br&gt;
       noteDisc2 = new ArrayList&amp;lt;&amp;gt;();&lt;br&gt;
       noteDisc3 = new ArrayList&amp;lt;&amp;gt;();&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   setLayout(new FlowLayout());
   setSize(500, 350);




   discipline = new Choice();
   discipline.add(student.getDisc1());
   discipline.add(student.getDisc2());
   discipline.add(student.getDisc3());
   add(discipline);




   noteList = new List();
   add(noteList);




   notaField = new TextField(5);
   add(notaField);




   Button afisareNote = new Button("Afisare Note");
   afisareNote.addActionListener(e -&amp;gt; afiseazaNote());
   add(afisareNote);




   Button adaugaNota = new Button("Adauga Nota");
   adaugaNota.addActionListener(e -&amp;gt; adaugaNota());
   add(adaugaNota);




   Button afisareInfo = new Button("Afisare Info");
   afisareInfo.addActionListener(e -&amp;gt; afiseazaInfo());
   add(afisareInfo);




   infoArea = new TextArea(7, 50);
   infoArea.setEditable(false);
   add(infoArea);




   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private void afiseazaNote() {&lt;br&gt;
       noteList.removeAll();&lt;br&gt;
       ArrayList note = getNoteList();&lt;br&gt;
       for (int nota : note) {&lt;br&gt;
           noteList.add(String.valueOf(nota));&lt;br&gt;
       }&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;private void adaugaNota() {&lt;br&gt;
       try {&lt;br&gt;
           int nota = Integer.parseInt(notaField.getText());&lt;br&gt;
           if (nota &amp;lt; 1 || nota &amp;gt; 10) {&lt;br&gt;
               infoArea.setText("Introduceți o notă între 1 și 10.");&lt;br&gt;
               return;&lt;br&gt;
           }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       ArrayList&amp;lt;Integer&amp;gt; note = getNoteList();
       if (!note.isEmpty() &amp;amp;&amp;amp; note.get(note.size() - 1) &amp;gt;= 5) {
           infoArea.setText("Studentul a promovat disciplina și nu mai poate adăuga note.");
           return;
       }




       note.add(nota);
       afiseazaNote();
       afiseazaInfo();
   } catch (NumberFormatException e) {
       infoArea.setText("Introduceți o notă validă.");
   }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;private void afiseazaInfo() {&lt;br&gt;
       StringBuilder info = new StringBuilder("Student: " + student.getNume() + "\nNote:\n");&lt;br&gt;
       info.append(student.getDisc1()).append(" ").append(noteDisc1).append("\n");&lt;br&gt;
       info.append(student.getDisc2()).append(" ").append(noteDisc2).append("\n");&lt;br&gt;
       info.append(student.getDisc3()).append(" ").append(noteDisc3);&lt;br&gt;
       infoArea.setText(info.toString());&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;private ArrayList getNoteList() {&lt;br&gt;
       String disciplina = discipline.getSelectedItem();&lt;br&gt;
       if (disciplina.equals(student.getDisc1())) return noteDisc1;&lt;br&gt;
       if (disciplina.equals(student.getDisc2())) return noteDisc2;&lt;br&gt;
       return noteDisc3;&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;public static void main(String[] args) {&lt;br&gt;
       new TihanIoan().setVisible(true);&lt;br&gt;
   }&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to make use of outer joins and rollup in oracle sql</title>
      <dc:creator>Vaniusca 23</dc:creator>
      <pubDate>Fri, 24 Jan 2025 17:52:55 +0000</pubDate>
      <link>https://dev.to/vaniusca_23_e2be1f11528b9/how-to-make-use-of-outer-joins-and-rollup-in-oracle-sql-f8o</link>
      <guid>https://dev.to/vaniusca_23_e2be1f11528b9/how-to-make-use-of-outer-joins-and-rollup-in-oracle-sql-f8o</guid>
      <description>&lt;p&gt;--1.Sa se afiseze first_name managerului, department_name si city pentru toate departamentele din baza de date. In cazul in care un departament nu are manager, se va afisa "Fara manager" in campul first_name&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;select coalesce (e.first_name, 'Fara manager') as manager_name, d.department_name, l.city
from hr.departments d
left join  hr.employees e on d.manager_id = e.employee_id
join hr.locations  on d.location_id = l.location_id;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;--2.Folosind “joncțiunea externă” sa se afișeze numele departamentelor care nu au angajați.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select department_name from hr.departments d&lt;br&gt;
full outer join  hr.employees e on d.department_id = e.department_id&lt;br&gt;
where e.employee_id is null;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;–2’.(extra)8.Folosind "jonctiunea externa" (1pct) sa se afiseze numele departamentelor care nu au angajati in "JOB_HISTORY". (5)&lt;br&gt;
&lt;code&gt;select d.department_name&lt;br&gt;
from hr.departments d&lt;br&gt;
left outer join  hr.job_history jh &lt;br&gt;
    on d.department_id = jh.department_id&lt;br&gt;
where jh.department_id is null  -- Nu a avut niciun angajat care să fi părăsit departamentul&lt;br&gt;
and d.department_id in (select distinct  department_id from hr.employees);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;--3.Folosind ROLLUP(1pct), reuniuni(2pct) sa se afiseze departamentele, managerii și numarul de angajati afisandu-se subtotaluri la nivel de manageri, departamente și total general. &lt;/p&gt;

&lt;p&gt;`–rollup&lt;br&gt;
select &lt;br&gt;
    decode (grouping(d.department_id), &lt;br&gt;
           1, '&lt;strong&gt;&lt;em&gt;total department&lt;/em&gt;&lt;/strong&gt;', &lt;br&gt;
           nvl(to_char(d.department_id), ‘fara departament’)) as department_id,&lt;br&gt;
    decode(grouping(e.manager_id), &lt;br&gt;
           1, '&lt;strong&gt;&lt;em&gt;subtotal manager&lt;/em&gt;&lt;/strong&gt;', &lt;br&gt;
           to_char(e.manager_id)) as manager_id,&lt;br&gt;
    count (*) as nr_angajati&lt;br&gt;
from hr.employees e&lt;br&gt;
left join  hr.departments d on e.department_id = d.department_id&lt;br&gt;
group by rollup (d.department_id, e.manager_id)&lt;br&gt;
order by  department_id nulls last, manager_id nulls last;&lt;/p&gt;

&lt;p&gt;–reuniuni&lt;br&gt;
select nvl(to_char(d.department_id), 'fara departament') as department_id,&lt;br&gt;
       to_char(e.manager_id) as manager_id,&lt;br&gt;
       count (*) as nr_angajati&lt;br&gt;
from hr.employees e&lt;br&gt;
left join  hr.departments d on e.department_id = d.department_id&lt;br&gt;
group by d.department_id, e.manager_id&lt;/p&gt;

&lt;p&gt;union all&lt;/p&gt;

&lt;p&gt;select nvl (to_char(d.department_id), 'fara departament') as department_id,&lt;br&gt;
       null as manager_id,&lt;br&gt;
       count (*) as nr_angajati&lt;br&gt;
from hr.employees e&lt;br&gt;
left join  hr.departments d on e.department_id = d.department_id&lt;br&gt;
group by d.department_id&lt;/p&gt;

&lt;p&gt;union all&lt;/p&gt;

&lt;p&gt;select'&lt;strong&gt;&lt;em&gt;total departament&lt;/em&gt;&lt;/strong&gt;' as department_id,&lt;br&gt;
       null as manager_id,&lt;br&gt;
       count (*) as nr_angajati&lt;br&gt;
from hr.employees&lt;br&gt;
order by department_id nulls last, manager_id nulls last;&lt;/p&gt;

&lt;p&gt;–combinat&lt;br&gt;
select&lt;br&gt;
decode(grouping_id(d.department_id, e.manager_id), 0, nvl(to_char(d.department_id), 'fara departament'), &lt;br&gt;
1, '&lt;strong&gt;&lt;em&gt;subtotal  manager&lt;/em&gt;&lt;/strong&gt;',&lt;br&gt;&lt;br&gt;
2, '&lt;strong&gt;&lt;em&gt;total departament&lt;/em&gt;&lt;/strong&gt;', &lt;br&gt;
3, '&lt;strong&gt;&lt;em&gt;total general&lt;/em&gt;&lt;/strong&gt;' ) &lt;br&gt;
as department_id, decode(grouping_id(d.department_id, e.manager_id), 0, &lt;br&gt;
to_char (e.manager_id), 1, null,  2, null, 3, null ) as manager_id, count (*) as nr_angajati&lt;br&gt;
from hr.employees e&lt;br&gt;
left join hr.departments d on e.department_id = d.department_id&lt;br&gt;
group by grouping sets ((d.department_id, e.manager_id),  (d.department_id), ())&lt;br&gt;
order by department_id nulls last, manager_id nulls last;`&lt;/p&gt;

&lt;p&gt;--4.Folosind “start with” sa se afiseze subordonatii subordonatilor angajatului 109.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;select employee_id, first_name, last_name&lt;br&gt;
from hr.employees&lt;br&gt;
where level = 2&lt;br&gt;
start with manager_id = 109&lt;br&gt;
connect by prior employee_id = manager_id;&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
--5.Sa se creeze o procedura denumita SUMA, care sa afiseze suma salariilor tuturor angajatilor.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;create or replace PROCEDURE SUMA AS&lt;br&gt;
    v_total_salary NUMBER;&lt;br&gt;
BEGIN&lt;br&gt;
    SELECT SUM(salary) INTO v_total_salary FROM hr.employees;&lt;br&gt;
    DBMS_OUTPUT.PUT_LINE('Suma salariilor tuturor angajatilor este: ' || v_total_salary);&lt;br&gt;
END SUMA;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;--6.Sa se creeze o procedura care sa afiseze cati angajati sunt intr-un departament. Departamentul va fi introdus la executie ca și parametru al procedurii.&lt;/p&gt;

&lt;p&gt;`create or replace PROCEDURE numar_angajati_departament (&lt;br&gt;
    p_department_name IN hr.departments.department_name%TYPE&lt;br&gt;
) IS&lt;br&gt;
    v_numar_angajati NUMBER;&lt;br&gt;
BEGIN&lt;br&gt;
    -- Selectăm numărul de angajați din departamentul specificat&lt;br&gt;
    SELECT COUNT(employee_id)&lt;br&gt;
    INTO v_numar_angajati&lt;br&gt;
    FROM hr.employees e&lt;br&gt;
    JOIN hr.departments d ON e.department_id = d.department_id&lt;br&gt;
    WHERE d.department_name = p_department_name;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Afișăm rezultatul
DBMS_OUTPUT.PUT_LINE('Numarul de angajati in departamentul ' || p_department_name || ' este: ' || v_numar_angajati);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;END;`&lt;/p&gt;

&lt;p&gt;--7.Sa se creeze o functie ca un parametru care sa returneze cate orase din bază de date sunt din US. Acest numar va fi afisat după linia cu apelul functiei.&lt;/p&gt;

&lt;p&gt;`--functia propriu zisa&lt;br&gt;
create or replace FUNCTION numar_orase_sua&lt;br&gt;
RETURN NUMBER IS&lt;br&gt;
    v_numar_orase NUMBER;&lt;br&gt;
BEGIN&lt;br&gt;
    -- Selectăm numărul de orașe unde country_id este 'US'&lt;br&gt;
    SELECT COUNT(DISTINCT city)&lt;br&gt;
    INTO v_numar_orase&lt;br&gt;
    FROM hr.locations&lt;br&gt;
    WHERE country_id = 'US';&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Returnăm valoarea
RETURN v_numar_orase;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;END;&lt;/p&gt;

&lt;p&gt;--rezultat&lt;br&gt;
SET SERVEROUTPUT ON;&lt;br&gt;
DECLARE&lt;br&gt;
    v_total_orase NUMBER;&lt;br&gt;
BEGIN&lt;br&gt;
    -- Apelăm funcția și stocăm rezultatul&lt;br&gt;
    v_total_orase := numar_orase_sua;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Afișăm rezultatul
DBMS_OUTPUT.PUT_LINE('Numarul de orase din SUA este: ' || v_total_orase);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;END;`&lt;/p&gt;

</description>
      <category>oracle</category>
    </item>
  </channel>
</rss>
