Se afișează postările cu eticheta citire. Afișați toate postările
Se afișează postările cu eticheta citire. Afișați toate postările

luni, 1 septembrie 2025

Citirea datelor de intrare de la consolă

  

Java folosește System.out pentru a se referi la un dispozitiv standard de ieșire a datelor, care este monitorul,  și System.in pentru dispozitiv standard de intrare a datelor, care este tastatura.

Pentru a afișa valori de tip String sau primitive în consolă se va utiliza metoda println().

În Java, System.out se referă la dispozitivul standard de ieșire (monitorul), iar System.in la dispozitivul standard de intrare (tastatura).

Pentru a afișa valori de tip String sau tipuri primitive în consolă, se folosește metoda println().

Java nu oferă direct posibilitatea de a citi date de la tastatură, dar acest lucru se poate realiza prin clasa Scanner. Crearea unui obiect Scanner se face astfel:

Scanner input = new Scanner(System.in);

Sintaxa new Scanner(System.in) crează un obiect de tip Scanner, iar sintaxa Scanner input declară că input este o variabilă de tip Scanner. Întreaga linie Scanner input = new Scanner(System.in); crează un obiect de tip Scanner căruia îi atribuie o referință la variabila input. Obiectul input  va putea invoca toate metodele clasei Scanner pentru a citi valori de diverse tipuri:

Metodă

Descriere

nextByte()

Citește un întreg de tip byte

nextShort()

Citește un întreg de tip short

nextInt()

Citește un întreg de tip int

nextLong()

Citește un întreg de tip long

nextFloat()

Citește un număr de tip float

nextDouble()

Citește un număr de tip double

next()

Citește un șir de caractere care finisează pînă la spațiu

nextLine()

Citește o linie de text, adică un șir de caractere care finisează cu tasta Enter.

 

Clasa Scanner se află în pachetul java.util, de aceea trebuie importată înainte de a fi utilizată într-o clasă:

import java.util.Scanner;

Pe lângă citirea datelor de la tastatură, clasa Scanner permite și citirea datelor din fișiere – aspect pe care îl vom detalia într-o lecție ulterioară.

La instanțiere, obiectul Scanner creează un flux de intrare a datelor. Acest flux rămâne deschis și folosește resursele sistemului până când se apelează metoda close(). Dacă aplicația Java este închisă, toate fluxurile deschise sunt închise automat.


Exemplu fără utilizarea clasei Scanner

Exemplu cu utilizarea clasei Scanner

 

public class exeggyhjj {

 public static void main(String[] args) {

       double nr1 = 11;

       double nr2 = 12;

       double nr3 = 13;    

       double medie = (nr1 + nr2 + nr3)/3;

       System.out.println("Media numerelor " + nr1 + " " + nr2 + " " + nr3 + " = " + medie);

 }

}

import java.util.*;

public class exeggyhjj {

 public static void main(String[] args) {

Scanner citeste = new Scanner(System.in);

System.out.print("Introduceti 3 numere:");

       double nr1 = citeste.nextDouble();

       double nr2 = citeste.nextDouble();

       double nr3 = citeste.nextDouble();

      double medie = (nr1 + nr2 + nr3)/3;

       System.out.println("Media numerelor " + nr1 + " " + nr2 + " " + nr3 + " = " + medie);

citeste.close();

 }

}

 

 

 

 

 

 

În următorul meu video educațional explic acest mod de a citi date de la tastatură în limbajul Java: 



Să aveți o zi deosebită! 

💝

luni, 26 august 2024

Operațiile destinate prelucrării tipurilor de date tablou unidimensional

În programarea Java, vectorii (tablourile) sunt utilizați pentru a stoca un număr fix de valori de același tip. Mai jos veți găsi câteva operații importante prezentate cât se poate de simplu, cu algoritm și exemple practice.

1️⃣ Declararea și inițializarea unui vector

Operația: Crearea unui vector și alocarea de valori.
Algoritm:
  1. Se declară vectorul.
  2. Se initializează cu valori.
int[] v = {3, 5, 7, 2, 9};

2️⃣ Citirea elementelor unui vector de la tastatură

Operația: Crearea unui vector și alocarea de valori citite de la tastatură.
Algoritm:
  1. Citește numărul de elemente.
  2. Creează vectorul.
  3. Parcurge și citește fiecare valoare.
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] v = new int[n];
for(int i = 0; i < n; i++){
    v[i] = sc.nextInt();
}

3️⃣ Afișarea elementelor unui vector

Operația: Afișarea tuturor valorilor din vector.
Algoritm:
  1. Parcurge vectorul.
  2. Afișează fiecare element.
for(int i = 0; i < v.length; i++){
    System.out.print(v[i] + " ");
}

4️⃣ Calculul sumei elementelor din vector

Operația: Determinarea sumei tuturor valorilor.
Algoritm:
  1. Inițializează suma cu 0.
  2. Adună succesiv toate elementele.
int suma = 0;
for(int i = 0; i < v.length; i++){
    suma += v[i];
}
System.out.println("Suma = " + suma);

5️⃣ Determinarea valorii maxime

Operația: Găsirea celui mai mare element.
Algoritm:
  1. Se presupune că primul element este maxim.
  2. Se compară toate valorile cu acesta.
int max = v[0];
for(int i = 1; i < v.length; i++){
    if(v[i] > max)
        max = v[i];
}
System.out.println("Maximul = " + max);

6️⃣ Determinarea valorii minime

Operația: Găsirea celui mai mic element.
Algoritm:
  1. Se consideră primul element minim.
  2. Se compară toate valorile cu el.
int min = v[0];
for(int i = 1; i < v.length; i++){
    if(v[i] < min)
        min = v[i];
}
System.out.println("Minimul = " + min);

7️⃣ Căutarea unui element în vector

Operația: Verificarea existenței unei valori.
Algoritm:
  1. Se parcurge vectorul.
  2. Dacă un element coincide cu cel căutat → găsit.
int caut = 7;
boolean gasit = false;
for(int i = 0; i < v.length; i++){
    if(v[i] == caut){
        gasit = true;
        break;
    }
}
if(gasit)
    System.out.println("Elementul a fost găsit.");
else
    System.out.println("Elementul NU există.");

8️⃣ Determinarea mediei elementelor

Operația: Calculul mediei aritmetice.
Algoritm:
  1. Se calculează suma.
  2. Se împarte la numărul elementelor.
int suma = 0;
for(int x : v){
    suma += x;
}
double media = (double)suma / v.length;
System.out.println("Media = " + media);

9️⃣ Sortarea elementelor prin metoda bulelor (Bubble Sort)

Operația: Sortarea vectorului în ordine crescătoare prin compararea elementelor vecine.
Algoritm:
  1. Parcurge vectorul de mai multe ori.
  2. Compară elementele adiacente.
  3. Dacă sunt în ordine greșită, le interschimbă.
  4. Cel mai mare element „urcă” spre final.
for(int i = 0; i < v.length - 1; i++){
    for(int j = 0; j < v.length - 1 - i; j++){
        if(v[j] > v[j + 1]){
            int temp = v[j];
            v[j] = v[j + 1];
            v[j + 1] = temp;
        }
    }
}
System.out.println("Vector sortat cu metoda bulelor:");
for(int x : v)
    System.out.print(x + " ");

🔟 Inversarea elementelor din vector

Operația: Ultimul element devine primul și invers.
Algoritm:
  1. Se folosesc doi indici (stânga și dreapta).
  2. Se interschimbă valorile până la mijloc.
int left = 0, right = v.length - 1;
while(left < right){
    int temp = v[left];
    v[left] = v[right];
    v[right] = temp;
    left++;
    right--;
}