WorksheetsGrilePJ
Total questions: 21
Worksheet time: 11mins
Precizați efectul liniilor de cod de mai jos.
public record Punct(int x, int y) {}
class MainApp {
public static void main(String[] args) {
Punct p1 = new Punct(1,2);
Punct p2 = new Punct(1,2);
if(p1.equals(p2)) System.out.println("Egale");
else System.out.println("Diferite");
System.out.println(p1.x() + " " + p1.y()); } }
Codul va produce eroare de compilare pentru că tipul record nu există în Java, trebuia creată o clasă
Codul va produce eroare de compilare pentru că variabilele x și y sunt accesate în mod eronat
Se va afișa mesajul Egale pe ecran, urmat de valorile 1, 2
Codul determină eroare de compilare pentru că se apelează metoda equals pe care record-ul Punct nu o are
Se va afișa mesajul Diferite pe ecran pentru că referințele celor două obiecte sunt diferite
Se consideră clasa Test cu codul de mai jos.
class Test { int x = 014;
void metoda() { this.x = 3; } }
class MainApp {
public static void main(String[] args) {
Test t = new Test();
t.metoda();
System.out.println(t.x); } }
Va determina eroare de compilare pentru că variabila x neavând modificator de acces este privată și deci inaccesibilă din clasa MainApp
Va afișa 017 pe ecran
Va afișa 17 pe ecran
Va afișa 15 pe ecran
O clasă abstractă poate fi:
Extinsă doar de o clasă normală
Extinsă doar de o clasă abstractă
Extinsă de o clasă abstractă sau de o clasă normală
Extinsă doar de o interfață
Precizați efectul următoarei secvențe:
String s = "ABCDE";
s.toLowerCase();
System.out.println(s[1]);
Va genera eroare de compilare
Va afișa litera b pe ecran
Va afișa litera B pe ecran
Va afișa ABCDE pe ecran
Precizați ce va afișa secvența:
class Clasa1 { private static int x, y;
public Clasa1(int x, int y) {
this.x = x; this.y = y; }
public int getX() { return x;
} public int getY() { return y;
} }
class MainClass { public static void main(String[] args)
{ Clasa1 ob1 = new Clasa1(1,2);
Clasa1 ob2 = new Clasa1(3,4);
int xc = ob1.getX() + ob2.getX(); int yc = ob1.getY() + ob2.getY();
System.out.println(xc + " " + yc); } }
2 4
6 8
4 8
1 2
Alegeți afirmația corectă cu privire la următoarele linii de cod:
float f = 3.4444;
System.out.printf("%.2f", f);
Încercări de a inițializa o variabilă de tip float cu o valoare de tip double
Secvența va genera eroare de compilare datorită apelului funcției printf
Secvența va afișa 3.44 pe ecran
Secvența va genera eroare de compilare datorită utilizării incorecte a funcției printf
Se considera clasele:
class Personal { String nume; public Personal() { nume = "Danut"; } }
class Inginer extends Personal {}
class MainApp { public static void main(String[] args)
{ Inginer ing = new Inginer();
System.out.println(ing.nume); } }
Va afișa null pe ecran
Va afișa numele Danut pe ecran
Numele va fi inițializat de clasa de bază
Variabila nume este declarată, numele nefiind accesibil din clasa Inginer
Se consideră clasele imbricate de mai jos:
class ClasaExterioara { int a = 3; class ClasaInterioara { int b = 4;
public void afisare() {
System.out.println("a=" + a + ", b=" + b); } } }
Într-o altă clasă nu se poate declara obiect de tipul ClasaInterioara
Într-o altă clasă se poate declara obiect de tip ClasaExterioara.ClasaInterioara
Clasa interioară nu se poate declara obiect de tip ClasaExterioara.ClasaInterioara()
Într-o altă clasă se poate declara obiect de tip ClasaExterioara o1 = new ClasaExterioara();
Variabila a nu poate fi accesată din ClasaInterioara pentru că este privată
Precizați ce va afișa următorul program:
class SuperClasa { protected int a; private int x;
public SuperClasa() { a = 2; x = calcul(); }
public int calcul() { return a * 3; }
public String toString() { return a + ", " + x; } }
class SubClasa extends SuperClasa { private int y; public SubClasa() { y = calcul();
} public int calcul() { return a + 4; }
public String toString() { return super.toString() + ", " + y; } }
class MainApp { public static void main(String[] args) { SubClasa ob = new SubClasa();
System.out.println(ob); } }
2,8,4
2,4,2
2,8,8
3,4,4
0,0,0
Selectați modul corect de declarare și instanțiere a unei colecții de tip Set care poate stoca valori unice:
TreeSet<Integer> lista = new Set<>();
Set<Integer> lista = new HashSet<>();
Set<Integer> lista = new TreeSet<>();
Set<Integer> lista = new Set<Integer>();
Set<Integer> lista = new Set<>();
Relația de moștenire dintre bean-urile Spring se realizează:
Cu ajutorul atributului child al tagului bean
Cu ajutorul atributului inheritance al tagului bean
Cu ajutorul atributului extends al tagului bean
Cu ajutorul atributului parent al tagului bean
Selectați afirmația corectă cu privire la codul de mai jos:
public interface Interfata { int x = 1; public void metoda(); } class Implementare implements Interfata { public void metoda() { x++; } } class MainApp { public static void main(String[] args) { Interfata i = new Implementare(); i.metoda(); System.out.println(i.x); } }
Câmpul x nu este accesibil în linia 3 a funcției main
Câmpul x nu este accesibil în funcția numită metoda() din clasa Implementare
Va afișa valoarea 2 pe ecran
Va afișa valoarea 1 pe ecran
Implementarea nu este permisă
Precizați ce va afișa secvența de mai jos:
Vector v = new Vector();
for (int i = 0; i < 8; i++) { v.add(i); }
System.out.println(v.capacity());
7
1024
10
100
8
Care va fi valoarea variabilei a dupa executarea liniilor de cod de mai jos:
int a=3;
a>>>1;
2
1
9
linia de cod e gresita si va da eroare de compilare
Precizați care este efectul următoarei secvențe:
List<String> lista = List.of("Arad", "Timisoara");
lista.add("Ineu");
lista.forEach(System.out::println);
Se va afișa Arad, Timisoara, Ineu în consola
Se va afișa Arad, Ineu, Timisoara în consola
Codul va produce eroare de compilare pentru că List.of nu permite modificări
Codul va produce eroare pentru că nu este permisă adăugarea unei noi referințe la List
Codul va produce excepție pentru că nu pot fi adăugate referințe folosind System.out::println
Precizați efectul rulării secvenței:
int[][] tab = new int[3][];
tab[0] = new int[2];
tab[1] = new int[3];
tab[2] = new int[4];
System.out.println(tab.length);
Va produce eroare de compilare pentru că operatorul length nu există
Va produce excepție ArrayIndexOutOfBoundsException
Se va afișa 3 pe ecran
Va produce eroare de compilare deoarece vectorul trebuie declarat: int tab[3];
Precizați efectul rulării secvenței:
Integer a = new Integer(4);
int b = 3;
System.out.println(a + b);
4
7
3
Va genera eroare de compilare datorită încercării de a atribui o valoare primitivă
c) Va afișa 7 pe ecran
Se consideră un proiect web dinamic creat pe baza arhetipului maven-archetype-webapp. Configurarea proiectului se realizează cu ajutorul fișierului:
web.xml
server.xml
pom.xml
Oricărei fișier XML creat în proiect
Se consideră clasa Persoana cu variabilele membre private inițializate și metoda toString. Precizați efectul următorului lanț de cod:
lista.stream() .map(Persoana::getVarsta)
.filter(p -> p.getVarsta() < 20)
.findFirst()
.ifPresentOrElse(System.out::println,
() -> System.out.println("Nici o persoana"));
Afișează numele și vârsta primei persoane care are sub 20 de ani sau mesajul "Nici o persoana"
Codul de conținutul listei nu este specificat
Afișează vârsta primei persoane care are sub 20 de ani, sau mesajul "Nici o persoana", în funcție de conținut
Condiția de filtrare este scrisă greșit în contextul actual și va produce eroare de compilare
Precizați ce va afișa secvența:
int[] a = {4, 5, 6};
int[] b = {1, 2, 3};
b = a; a[0] = 5;
System.out.println("a[0]=" + a[0] + " b[0]=" + b[0]);
a[0] = 5 b[0] = 4
a[0] = 5 b[0] = 5
Va genera eroare de compilare, atribuirea b = a nefiind permisă
a[0] = 5 b[0] = 1
Precizați cum va rula secvența:
class MainApp { static void afiseaza(var vector) {
for (Integer x : vector) { System.out.println(x); } }
public static void main(String[] args) { int[] a = {4, 3, 2};
afiseaza(a); } }
Secvența va afișa valorile 4, 3, 2 pe ecran
Secvența va produce eroare de compilare datorită utilizării necorespunzătoare a lui var
Secvența va afișa valorile 0, 1, 2 pe ecran
Secvența va produce eroare de compilare datorită utilizării necorespunzătoare a lui static
