Documente Academic
Documente Profesional
Documente Cultură
Test 2
1
2) Fie urmatoarea declaratie JAVA:
public private int h;
Care afirmatie este adevarata?
a. variabila h va fi accesata in mod public, deoarece se ia in considerare primul modificator
de acces;
b. Variabila h va fi accesata in mod private, deoarece se ia in considerare ultimul modificator
de acces;
c. Va fi o eroare la compilare, deoarece o variabila nu poate fi in acceasi timp accesata
public si private;
2
6) Fie urmatorul subprogram Java:
int as=3, bs=2, cs=4;
System.out.print(((as < bs++) & (cs++ < bs)) + " ");
System.out.println(as + " " + bs + " " + cs);
System.out.print(((as < bs++) && (cs++ < bs++)) + " ");
System.out.println(as + " " + bs + " " + cs);
3
9) Fie urmatorul subprogram Java:
double d = 2.95;
int i = 4;
System.out.println( + + d>i?d: i);
4
13) Fie urmatorul subprogram Java:
byte b = 7 >>> 1;
System.out.println (b);
5
16) Fie urmatorul subprogram Java:
int a = 3;
if (++a < 4)
if (++a < 4)
System.out.println (a);
else
System.out.println(a);
6
18) Fie urmatorul subprogram Java:
int i = 1, suma = 0;
for ( ; ; ) {
suma += i++;
if (i > 5) break ;
}
System.out.print( suma );
7
a) Eroare la compilare: nu se poate converti implicit 4.50 la float.
b) Programul se compileaza si la executie afiseaza 4.5.
c) Programul se compileaza si la executie afiseaza 4.50.
d) Programul se compileaza si la executie afiseaza 4.5000000.
Test 3
public class C1 {
int x = 1;
C1 (){
System.out.print("x = " + x);}
}
class C2 extends C1 {
int y = 3;
C2 ( int y ){
this.y = y;
}
}
public class Test {
public static void main(String[] args) {
C2 obiect = new C2();
System.out.println (" y = " + obiect.y);
}
}
class C0 {
int x = 1;
}
class C1 {
int y = 2;
}
class C2 extends C0, C1 {
int z = 3;
}
public class TestDoi { '
public static void main(String[] args) {
C2 obiect = new C2();
System.out.println(obiect.x + obiect.y + obiect.z);
8
}
}
public class X {
private int X = 1;
void X() {
System.out.print(X + " ");
}
}
public class Y extends X {
private int X = 2;
void X() { super.X();
System.out.print(X);
}
}
public class Test {
public static void main(String[] args) {
Y obiect = new Y();
obiect.X() ;}}
9
static int x = 0;//variabila static nu se initializeaza cu fiecare creare
Exemplu ( ) {
x++ ;
}
a) a.x = 2 a .x = 200
b) a .x = 0 a .x = 100
c) a .x = 1 a .x = 100
d) a .x = 1 a .x = 101
e) a .x = 2 a .x = 100
a)Va aparea eroare la compilare, deoarece parametrul metodei main () trebuie sa fie String args [].
b)Va aparea eroare la compilare, deoarece nu s-au inserat paranteze intre operatorii ++, adica (i++)
si (++j) .
c)Va aparea eroare la compilare, deoarece din functia statica main () nu putem accesa
variabilele nestatice i si j.
d)La executie se va afisa 8.
e)La executie se va afisa 9.
interface I1 {
int x = 2;
10
}
interface I2 extends I1 {
int y = 3;
}
class C1 {
int y = 4;
}
public class C3 extends C1 implements 12 {
public static void main(String args[]) {
System.out.println("x = " + x + ", y =" + y) ;
}
}
11
e) Va aparea eroare la executie, deoarece se intra intr-o recursie infinita in metoda f () din clasa
C3. '
abstract class C1 {
int x = 2;
public final abstract String f();
}
final class C2 extends C1 {
int y = 3;
public String f(){
return "x = " + x + ", y = " + y;
public class TestFinal {
public static void main (String args[]){
C2 obiect = new C2 ();
System.out.println(obiect. f() ) ;
}
12
}
}
}
}
a) Programul este corect si va afisa la executie: Mesajul Unu din C1, Mesajul Doi din C1.
b) Programul este corect si va afisa la executie: Mesajul Unu din C1, Mesajul Doi dinC2.
c) Programul este corect si va afisa la executie: Mesajul Unu din C2, Mesajul Doi din C1.
d) Programul este corect si va afisa la executie: Mesajul Unu din C2, Mesajul Doi din C2.
e) Va aparea eroare la compilare, deoarece in clasa Test variabila obiect nu apartine clasei C2.
13
void f (double x ) {
this.x = x;
}
}
14) Ce puteti afirma despre urmatorul program Java (liniile sunt numerotate)?
14
1.public class SubiectLicentaDoi {
2.static int x = 10;
3.static { x += 5; }
4.public static void main(String args[]) {
5.System.out.println("x = " + x) ;
6.}
7.static { x /= 5; }
8.}
a) Liniile 3 si 7 nu se vor compila, deoarece lipsesc numele metodelor si tipurile returnate.
b) Linia 7 nu se va compila, deoarece poate exista doar un initializator static.
c) Codul se compileaza si executia produce iesirea x = 10.
d) Codul se compileaza si executia produce iesirea x = 15.
e) Codul se compileaza si executia produce iesirea x = 3.
a) i = 5 i = 6.
b) j = 5 j = 6.
c) i = 5 j = 6.
d) s = 5 s = 6.
e) Eroare la compilare, deoarece definitia clasei Baza apare dupa definitia clasei
SupracriereSupraincarcare.
f) Eroare la compilare, deoarece lipseste cuvantul virtual din metoda f u n c t i e () a clasei Baza.
class Cl {
static int x = 1;
15
int y = 2;
static Cl() {
x = 4;
}
C1 (int y) {
this . y = y + 1;
}
public class Test {
public static void main(String args[]) {
System.out.print(Cl.x + " ");
Cl obiect = new Cl(5);
System.out.println(obiect.y) ;
}
class C2 extends C1 {
int y = 3;
C2 (int x) {
this (x,y) ;
}
C2(int x, int y) {
super(x);
this.y = y ;
}
16
System.out.print(obiectUnu + " ");
System.out.println(obiectDoi);
}
}
18). Indicati daca programul urmator este corect si ceea ce se va afisa la executia acestuia:
class C1 {
int x = 1;
C1(int x) {
this.x = x ;
}
}
class C2 extends C1 {
int y = 2;
public String toString () {
return "x = " + x + ", y = " + y;
}
}
public class Test {
public static void main(String args[]) {
C2 obiectOnu = new C2();
C2 obiectDoi = new C2(3);
System.out.print(obiectOnu) ;
System.out.print(obiectDoi);
}
}
interface I1 {
int j = 3;
17
int [] i = {j + 1, j + 2};
}
interface I2 {
int j = 5 ;
int []i={j+2,j+4};
}
18
d) Va aparea eroare la compilare, deoarece interfata I3 acceseaza un atribut ambiguu.
e) Va aparea eroare la compilare, deoarece atributele interfetelor I0 si I3 nu se pot accesa dintr-o
metoda statica
19
c) Va aparea eroare la compilare, deoarece metoda f () din interfata I2 intra in contradictie cu
metoda f () din I1.
d) Va aparea eroare la compilare, deoarece interfetele I1 si I2 nu contin atributul x.
e) Va aparea eroare la compilare, deoarece in clasa C1 nu se poate implementa metoda f () din
interfata I1.
22) Selectati varianta corecta referitoare la corectitudinea programului Java de mai jos:
interface I1 {
int f( int x);
}
interface I2 extends I1 {
float f (float x);
double f (double x);
}
class C1 implements I2 {
public int f (int x) {
return x;
}
public float f (float x) {
return x;
}
public double f (double x) {
return x; }
}
20
C1 obiect = new C1 ();
obiect.f(4,3);
}
}
class C1 {
public void f (int xx, final int yy) {
int a = xx + yy;
final int b = xx - yy;
class C2{
public void g(){
System.out.print("a="+a);
System.out.print(",b="+b);
}
}
C2 obiectDoi=new C2();
obiectDoi.g();
}
}
21
e) Va aparea eroare la compilare, deoarece atributele vl si v2 sunt redefinite ca variabile locale in
metoda main {}
25) Ce puteti spune despre urmatorul program Java (liniile sunt numerotate)?
1.class CI { int x = 1; }
2.class C2 extends C1 { int y = 2; }
3.public class TestCompilare {
4.public static void main(String[] args) {
5.C1 obiectUnu = new Cl();
6.System.out.print(obiectUnu.x + " ");
7.obiectUnu = new C2();
8.System.out.print(obiectUnu.x + " ");
9.C2 obiectDoi = (C2) obiectUnu;
10.System.out.print(obiectDoi.x + " ");
11.}
12.}
26) Stabiliti care afirmatii sunt adevarate pentru programul Java din cele de mai jos (liniile sunt
numerotate):
7.c = a ;
8.System.out.print (c[l] + " ") ;
9.}
10.}
22
27. Indicati daca program Java de mai jos este corect sau stabiliti natura erorilor (liniile sunt
numerotate):
1.class C1 { int x = 1; }
2.class C2 extends C1 { int y = 2; }
3.interface I1 { int x = 3; void f(int x); }
4.class C3 extends C1 implements I1 {
5.int x = 4;
6.public void f(int x) { this.x = x; }
7.}
8.public class TestConversii {
9.public static void main(String[] args) {
10.C3 obiectUnu = new C3( );
11.I1 obiectDoi = obiectUnu;
12.System.out.print(obiectDoi.x);
13.C2 [] obiectTrei = new C2[3];
14.System.out.print(obiectTrei[0].x + " ");
15.C1 [] obiectPatru = obiectTrei;
16.System.out.print(obiectPatru(1].x + " ");
17.obiectTrei = (C2[]) obiectPatru;
18.}
19.}
class C1 {
int x = 1;
}
interface I1 {
int x = 2;
void f (int x);
}
23
this.x = x;
}
}
24
30) Ce puteti afirma despre urmatorul program Java?
class C1 {
int x = 1;
void f (int x) {
System.out .print ( " Unu ");
this .x = x;
}
}
interface I1 {
int x =2;
void f(int x);
}
31) Indicati daca programul de mai jos este corect si, in caz afirmativ, ce va aparea pe ecran:
class C1 {
int x = 1;
25
void f(int x) {
System.out.print("1 ");
this.x = x;
}
}
class C2 extends C1 {
int x = 2;
public void f (int x) {
System.out.print("2 ");
this. x = x;
}
}
class C3 extends C1 {
int x = 3;
public void f (int x) {
System.out.print("3 ");
this.x = x ;
}
}
public class Test {
public static void main (String[] args) {
C1 obiectUnu = new C2( );
C1 obiectDoi = new C3( );
System.out.print(obiectUnu.x + " " + obiectDoi.x + " ");
obiectUnu.f (4); obiectDoi.f(5);
System.out.print(obiectUnu. x + " " + ((C2) obiectUnu) .x +" ");
System.out.print(obiectDoi.x + " " + ((C3)obiectDoi).x);
}
}
26
}
}
public class Test {
public static void main ( String args[ ]) {
C1[] tablouUnu = new C2[3];
for ( int i = 0; i < tablouUnu.length; i++);
tablouUnu[i] = new C2(i * 2, i * 3);
C2[ ] tablouDoi = (C2 [ ]) tablouUnu;
for (int i = 0; i < tablouUnu. length; i++)
System.out.print(tablouDoi[i] . x + " " + tablouDoi[i].y + “ ” ) }}
27
c) Programul este corect si va afisa la executie : 4 2 3 2 7.
d) Programul este corect si va afisa la executie : 4 5 3 6 7.
e) Vor aparea erori de compilare la crearea instantelor obiectDoi si obiectTrei, deoarece atributul x
se suprascrie.
f) Va aparea eroare la execute la afisarea lui ObiectDoi. x , aruncandu-se exceptia
ClassCastException.
Test 4
Intrebarea 4.7,1. Un obiect de tip String permite parcurgerea caracter cu caracter a literalului
stocat?
String s = "String";
s.toString ().toString.toString();
a) Se obtine eroare la compilare, deoarece nu s-a utilizat operatorul new pentru obiectul s
b) Apare o eroare la compilare, intrucat obiectul s va contine numele unui cuvant rezervat
c) Se va genera o eroare la executie, pentru ca metoda toString () returneaza o valoare care nu
este preluata.
d) Codul este corect din punct de vedere sintactic.
e) Se apeleaza metode toString () pentru acelasi obiect.
Intrebarea 4.7.3. Care dintre metodele clasei String de mai jos returneaza un obiect de tip String?
a) replace()
b) split()
c) intern()
d) toLowerCase()
28
a)109opt765
b)19opt135
c)19opt18
d)19opt765
e) Se obtine o eroare la compilare sau la executie.
Intrebarea 4.7.5. Pentru a gestiona numele unor persoane, care structura este mai eficienta pentru
cautare?
a) o colectie de tip vector;
b) o tabela hash;
c) o lists dublu inlantuita
d) un arbore binar;
e) o multime
Test 5
a) Nu,Nu
b) Da, Nu
c) Nu, Da
d) Da, Da
29
5.6.4, Cati octeti va scrie codul java de mai jos catre fisierul fisier. txt?
try {
FileOutputStream f1 = new FileOutputStream ("fisier.txt")
DataOutputStream f2 = new DataOutputStream (f1)
f2.writeInt(3)
f2.writeDouble(0.01)
f2.close()
f1.close()
}
a) 2
b) 8
c) 12
d) 16
e) numarul de octeti va depinde de sistemul local respectiv
a) i=10
b) i=20
c) i=30
d) se va arunca o exceptie la linia 1
e) se va arunca o exceptie la linia 4
30
b) Construim un FileReader caruia i se trimite ca parametru numele fisierului. Folosind acest
obiect, se apeleaza metoda readInt()
c) Construim un PipedInputStream caruia i se trimite ca parametru numele fisierului. Folosind
acest obiect, se apeleaza metoda readInt()
d) Construim un RandomAccesFile caruia i se trimite ca parametru numele fisierului. Folosind
acest obiect, se apeleaza metoda readInteger()
e) Construim un FileReader caruia i se trimite ca parametru numele fisierului. Folosind acest
obiect, se creeaza un obiect DataInputStream caruia i se apeleaza metoda readInt()
a) Nu, Nu
b) Da, Nu
c) Nu, Da
d) Da, Da
5.6.8 Fie codul Java de mai jos. Care este rezultatul executiei lui?
1. File f1=new File("numeDirector")
2. File f2=new File(f1, "numeFisier")
a) eroare de compilare la linia 2, deoarece avem un apel recursiv nepermis
b) programul este corect, dar nu se creeaza nici un director si nici un fisier
c) programul este corect si se creeaza in directorul curent un director cu numele numeDirector, iar
in acest director se creeaza fisierul cu numele numeFisier
d) programul este corect si se creeaza in directorul curent un director cu numele numeDirector, si
se creeaza fisierul cu numele numeFisier
5.6.9 Presupunem ca avem un fragment de cod java dintr-o aplicatie care are drept de scriere in
directorul de lucru curent si ca in directorul curent nu exista fisierul numit fisier.txt. Care va fi
rezultatul compilarii si executiei codului de mai jos?
1. try {
2. RandomAccesFile f1 = new RandomAccesFile(
3. "fisier.txt", "rw" )
4. BufferedOutputStream f2 = new BufferedOutputStream (f1)
5. f3.writeDouble (Match.PI);
6. f3.close()
7. f2.close()
8. f1.close()
9. } catch (IOException e) {}
31
d) Codul java de mai sus se poate compila si executa, creandu-se fisierul fisier.txt in directorul
curent.
a) 1,2,3
b) 1,2
c) 1,3
d) 2,3
e) 2
5.6.11 Peresupunem ca avem un program Java si ca in directorul de lucru curent exista drepturi de
scriere. Care va fi rezultatul compilarii si executiei codului de mai jos?
import java.io.*;
class C1 {
private double a = 3.45;
public String toString() (return "a = " + a;)
}
public class TestGrilaSerializare {
public static void main (String args []) {
C1 obiect = new C1();
try {
ObjectOutputStream oos = new ObjectOutputStream (
new FileOutputStream ("intrare.dat"));
oos.writeObject(obiect);
oos.close();
}
catch (IOException e) {
System.out.println("Eroare la serializare" + e.getMessage());
}
try {
ObjectInputStream ois = new ObjectInputStream(
new FileInputStream("intrare.dat"))
C1 obiectCitit = (C1) ois.readObject();
System.out.println(obiectCitit);
ois.close();
}
catch (IOException e) {
32
System.out.println("Eroare la deserializare" + e.getMessage())
}
catch (ClassNotFoundException e) {
System.out.println("N-am gasit clasa obiectului in flux" + e.getMessage());
}
}
}
Test 6
Intrebarea 6.6.1.
Care dintre afirmatiile urmatoare sunt false?
33
Test 7
Intrebarea 7.9.1. Care dintre afirmatile de mai jos referitoare la appleturi sunt adevarate:
Intrebarea 7.9.4. Care dintre propozitiile urmatoare referitoare la metodele unui applet sunt
adevarate?
a) Doar appleturile din aceeasi pagina Web pot comunica intre ele.
b) Un applet poate fi configurat din cadrul paginii Web.
c) Un document Web poate contine un applet de pe alt server Web.
d) In anumite situatii un applet poate avea acces la sistemul de fisiere local.
34
b) elemente de redare a sunetelor aflate in fisiere externe;
c) texte de diferite dimensiuni si culori;
d) figuri geometrice bidimensionale;
e) Nu poate contine simultan imagini, desene, text si audio.
a) Panel
b) Canvas
c) SoundComponent
d) Container
e) Applet
f) List
Intrebarea 7.9.9 Care dintre gestionarii de pozitionare de mai jos pot fi utilizati de appleturi?
a) GridBagLayout
b) TableLayout
c) DefaultLayout
d) FlowLayout
e) WindowLayout
Intrebarea 7.9.10 Care dintre urmatoarele metode trebuie implementate pentru tratarea
evenimentului de apasare a unu buton?
a) FileDialog
b) WindowListener
c) Applet
d) Frame
e) MainWindow
35
Intrebarea 7.9.12 Un manager de securitate poate stabili:
Intrebarea 7.9.13 Ce metoda trebuie definita pentru a putea desena pe suprafata appletului?
Test 9
Intrebarea 9.7.5 Pentru a apela metodele unui obiect la distanta trebuie sa:
36
a) pornim un registru de nume
b) cream un socket pentru a stabili o conexiune cu serverul RMI
c) realizam o cerere pentru respectivul obiect prin intermediul socketului creat anterior
d) obtinem o instanta a obiectului la distanta
Intrebarea 9.7.6 Care dintre afirmatiile urmatoare referitoare la trimiterea obiectelor la distanta ca
parametri ai metodelor la distanta sunt adevarate?
a) Nu se pot trimite
b) Se trimite o copie a lor
c) Se trimite o referinta la distanta
d) Se trimite obiectul stub corespunzator
e) Se trimite obiectul skeleton corespunzator
a) ca la obiectele locale
b) ca la obiectele locale, numai ca la restaurare vor aparea probleme.
c) Intr-un mod specific, RMI implementand interfata
RMISerializable;
d) Nu se pot serializa obiectele la distanta.
37