Sunteți pe pagina 1din 13

Declararea tablourilor.

Clasa
ArrayList. Clasa Scanner
profesor Dobrovolischii Olga
Declararea variabilelor de tip Array

Vectorii sunt utilizați pentru a stoca mai multe valori într-o singură variabilă. Un
vector este de fapt o matrice (array) unidimensională.

Sintaxa:

Exemple:
Crearea unui Vector
Un vector se crează cu ajutorul cuvîntului cheie new.

Sintaxa:

Sintaxa de mai sus efectuează două lucruri:


crează o matrice nouă utilizînd tipul dataType[arraySize]
atribuie referința matricii nou create variabilei arrayRefVar
Declararea unei variabile de tip matrice, crearea unui vector și atribuirea referinței
matricei unei variabile se poate face utilizînd sintaxa:
Crearea unui Vector
Exemplu
public class Vector {

public static void main(String[] args) {


double[] List = { 1.9, 2.9, 3.4, 3.5 };

// Print all the array elements


for (int i = 0; i < List.length; i++) {
System.out.println(List[i] + " ");
}

// Aduna toate elementele vectorului


double total = 0;
for (int i = 0; i < List.length; i++) {
total += List[i];
}
System.out.println("Suma este " + total);

// gaseste elementul maxim din vector


double max = List[0];
for (int i = 1; i < List.length; i++) {
if (List[i] > max)
max = List[i];
}
System.out.println("Max este " + max);
}
}
ArrayList
Clasa java.util.ArrayList permite crearea și prelucrarea listelor dinamice. Listele
dinamice își pot modifica dimensiunea în dependență de dorința utilizatorului.

Un ArrayList poate fi creat folosind constructorul simplu:


ArrayList dinamicList = new ArrayList();

Listele dinamice ArrayList sunt create cu o dimensiune inițială. Atunci cînd


dimensiunea este depășită , lista este automat marită.

În declarația de mai sus se va crea o listă dinamică din 10 elemente. În cazul în


care doriți sa modificați dimensiunea listei , indicați acest lucru la apelarea
constructorului.
ArrayList denVar = new ArrayList(20);
Metodele clasei ArrayList

Afișarea articolelor într-o listă


System.out.println("Contents of the dinamicList: " + dinamicList.toString());

Inserarea unui articol în ArrayList


dinamicList.add(3, "String");
Eliminarea unui articol dintr-o listă Array
dinamicList.remove(2); sau dinamicList.remove("Max");
Înlocuirea unui articol dintr-o listă Array
dinamicList.set(3,"Paul");
Numărul de elemente conținute într-un ArrayList poate fi găsit folosind size metoda:System.out.println("There are now " + dinamicList.size());
Utilizați indexOf metoda pentru a găsi poziția index a unui anumit element: System.out.println("The index position of Max is : " +
dynamicStringArray.indexOf("Max”);
Pentru a șterge toate elementele dintr-o ArrayList metodă este utilizată:
dynamicStringArray.clear();
Uneori poate fi util să vedem dacă ArrayList are elemente. Utilizați metoda isEmpty :System.out.println("Is the dynamicStringArray empty? " +
dynamicStringArray.isEmpty());

}
}
}
Metodele clasei ArrayList

Utilizarea metodei add():


import java.util.ArrayList;

public class Vector {


public static void main(String[] args) {

// creaza o lista noua cu un numar initial


ArrayList<Integer> list = new ArrayList<Integer>(5);

// utilizeaza metoda add() pentru a adauga elemente in lista


list.add(15);
list.add(20);
list.add(25);

// let us print all the elements available in list


for (Integer number : list) {
System.out.println("Number = " + number);
}
}
}
Transmiterea /Citirea datelor de la tastatură cu ajutorul
fluxurilor de caractere.
Începînd cu versiunea 1.5 , limbajul Java pune la dispoziție modalități simplificate
pentru afișarea formatată a unor informații, respectiv pentru citirea de date
formatate de la tastatură:

Intrari formatate:
Clasa java.util.Scanner oferă o soluție simplă pentru formatarea unor informații
citite de pe un flux de intrare fie pe octeți , fie pe caractere, sau chiar dintr-un
obiect de tip File.
Pentru a citi de la tastatură vom specifica ca argument al constructorului fluxul
System.in
Clasa Scanner
Clasa Scanner în Java se găsește în pachetul Java.util și permite regăsirea într-
un text a tipurilor primitive și a șirurilor folosind expresii regulate.
Un scanner(un obiect de tipul Scanner) împarte întrarea în entități , folosind un
sablon de delimitatori(delimitatorii impliciți sunt spațiile albe) și regăsește entitățile
prin invocarea de metode next.
Pentru a instanția clasa Scanner care permite introducerea datelor de catre
utilizator de la tastatură este nevoie să trecem fluxul System.in în constructorul
clasei Scanner.

Scanner s=new Scanner(System.in);


String nume=s.next();
int varsta=s.nextInt();
double salariu=s.nextDouble();
s.close();
Cele mai folosite metode:

public boolean hasNext()- returnează true dacă mai urmează o entitate

public String next()- detectează și întoarce următoarea entitate

public boolean hasNextLine() - returnează true dacă mai urmează o nouă linie de intrare

public String nextLine()- întoarce următoarea linie de la intrare

public void close()- închide scannerul

hasNextXXX- poate lansa excepția : IllegalStateException daca scannerul este închis


nextXXX()-poate lansa excepțiile: InputMismatchException(dacă entitatea nu este cea așteptată,
NoSuchElementException(dacă s-a ajuns la sfîrșitul intrării),IllegalStateException(dacă scannerul este
închis)
Clasa Scanner
Exemplu:

import java.util.Scanner;

class Main {
public static void main(String[] args) {
Scanner o1= new Scanner(System.in);
String Nume;

System.out.println("Introduceti numele “);


Nume = o1.nextLine();

System.out.println("Numele este: " + Nume);


}
}
Exemplu: Se citește un număr natural n. Să se calculeze suma cifrelor lui.
public static void main(String[] args) {
int s = 0;
System.out.print("dati numarul natural=");

Scanner in = new Scanner(System.in);


int n = in.nextInt();
in.close();

while (n != 0) {
s += n % 10;
n /= 10;

} System.out.println("Suma cifrelor numarului este " + s);


}}
Exercițiu: Se citește un număr natural n. Să se afișeze numărul obținut prin inversarea cifrelor lui.
Pentru 841 obținem 148.
Exemplul 3: Într-un fișier se află un șir de numere care reprezintă elementele unui vector. Elaborați un program
Java care va citi elementele vectorului din fișier, va afișa vectorul citit urmat de suma elementelor vectorului.
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class Individual_1 {

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

Scanner in = new Scanner(new FileReader("out.txt"));


ArrayList<Integer> vector = new ArrayList<Integer>();
while (in.hasNext()) {
vector.add(in.nextInt());
}
System.out.println("Am citit vectorul");
System.out.println(vector);
int s = 0;
for (Integer i : vector) {
s += i;
}
System.out.println("Suma elementelor este:" + s);
in.close();
}
}