{ int x = 12; q=1; { int q = 96; // Both x & q available x=q; } q=x; x=1; } Care afirmatie este adevarata: a. instructiunea x=q; este corecta; b. instructiunea q=x; este corecta; c. instructiunea x=1; este incorecta; d. instructiunea q=1; este corecta;
____ 2. Fie urmãtorul bloc de instrucþiuni Java:
{ int x = 10; x=1; { int x = 100; } x=2; } Care afirmatie este adevarata: a. instructiunea x=1; este incorecta; b. instructiunea int x = 100; este incorecta; c. instructiunea x=2; este incorecta; d. instructiunea int x = 10; este incorecta;
____ 3. Fie urmatoarea clasa Java:
class D { int i; float f; boolean b; } Care afirmatie este adevarata: a. instructiunea D d = new D(1); este corecta; b. instructiunea D d = new D(1,1); este corecta; c. instructiunea D d = new D(); este corecta; d. instructiunea D d = new D(1,1,1); este corecta; ____ 4. Fie urmatoarea metoda Java: int storage(String s) { return s.length() * 2; } si instructiunea int i=storage(”Java”); Care afirmatie este adevarata: a. instructiunea este incorecta; b. i va primi valoarea 4; c. i va primi valoarea 16; d. i va primi valoarea 8; ____ 5. Fie urmãtoarea clasã Java: class C{ public static int i=1; } ºi instrucþiunile: C x=new C(); C y=new C(); x.i =x.i ?+1; Care afirmatie este adevarata: a. Dupa executarea instructiunii x.i =x.i ?+1; avem x.i = 2 si y.i=2; b. Dupa executarea instructiunii x.i =x.i ?+1; avem x.i = 2 si y.i=1; c. Dupa executarea instructiunii x.i =x.i ?+1; avem x.i = 1 si y.i=2; d. Dupa executarea instructiunii x.i =x.i ?+1; avem x.i = 1 si y.i=1; 6. Fie urmãtoarea clasã Java: class C{ public static void main(String args[]){ System.out.println(args[0]); System.out.println(args[1]); } } Daca se executa linia de comanda: >java C Curs Java An 3 atunci se va afisa: a. Curs Java An b. Curs Java c. Java An 3 d. Curs Java An 3
7. Fie urmãtoarea clasã Java:
class C{ public static void main(String args[]){ for(int i=0;i<args.length; i++) System.out.println(“ “ + args[i]); } } Daca se executa linia de comanda: >java C Curs Java An 3 atunci se va afisa: a. Curs Java b. Curs Java An c. Curs Java An 3 d. Java An 3
8. Fie urmãtoarea clasã Java:
public class Person{ public Person(String p){name=new String(p); System.out.println(++nr); } public static void main(String[] args){ while(true)f(); } private static void f(){Person p = new Person("Ionescu"); // obiectele NU se acumuleaza // in heap si NU blocheaza executarea, spre deosebire de C++ } private String name; private static long nr=0; }; Care afirmatie este adevarata: a. Programul nu se opreste din executare; b. Programul se termina, cu mesaj de eroare, deoarece la un moment dat nu mai exista memorie suficienta pentru crearea obiectelor Person; c. Programul are erori de sintaxa; d. Programul se termina, fara mesaj de eroare.
____ 9. Fie urmatoarele clase Java:
class Overflow extends Exception{ public Overflow(Stack o){source=o;} public Stack getSource(){return source;} private Stack source; } class Underflow extends Exception{ public Underflow(Stack o){source=o;} public Stack getSource(){return source;} private Stack source; } class Stack{ public Stack(int n, String s){ dim=n; name=s; top=-1; v= new Object[dim]; } public void insert(Object o) throws Overflow{ if(top < dim-1) v[++top]=o; else throw new Overflow(this); } public void delete() throws Underflow{ if(top >=0) top--; else throw new Underflow(this); } public Object item() throws Underflow{ if(top >=0) return v[top]; else throw new Underflow(this); } public String getName(){return name;} private Object v[]; private int dim; private int top; private String name; } public class StackDriver{ public static void main(String args[]){ Stack s1,s2; s1=new Stack(2, "stiva Tudor"); s2=new Stack(2, "stiva Andrei"); try{ s1.insert("aa"); s1.delete(); s1.item(); } catch (Overflow e){ System.out.println("Overflow la " + e.getSource().getName()); } catch (Underflow e){ System.out.println("Unnderflow la " + e.getSource().getName()); } } } Care afirmatie este adevarata: a. Programul afiseaza: Overflow la stiva Tudor b. Programul afiseaza: Underflow la stiva Tudor c. Programul afiseaza: Overflow la stiva Andrei d. Programul afiseaza: Underflow la stiva Andrei
____ 10. Fie urmatoarele clase Java:
class Overflow extends Exception{ public Overflow(Stack o){source=o;} public Stack getSource(){return source;} private Stack source; } class Underflow extends Exception{ public Underflow(Stack o){source=o;} public Stack getSource(){return source;} private Stack source; } class Stack{ public Stack(int n, String s){ dim=n; name=s; top=-1; v= new Object[dim]; } public void insert(Object o) throws Overflow{ if(top < dim-1) v[++top]=o; else throw new Overflow(this); } public void delete() throws Underflow{ if(top >=0) top--; else throw new Underflow(this); } public Object item() throws Underflow{ if(top >=0) return v[top]; else throw new Underflow(this); } public String getName(){return name;} private Object v[]; private int dim; private int top; private String name; } public class StackDriver{ public static void main(String args[]){ Stack s1,s2; s1=new Stack(2, "stiva Tudor"); s2=new Stack(2, "stiva Andrei"); try{ s2.insert("aa"); s2.delete(); s2.item(); } catch (Overflow e){ System.out.println("Overflow la " + e.getSource().getName()); } catch (Underflow e){ System.out.println("Unnderflow la " + e.getSource().getName()); } } } Care afirmatie este adevarata: a. Programul afiseaza: Underflow la stiva Andrei b. Programul afiseaza: Underflow la stiva Tudor c. Programul afiseaza: Overflow la stiva Tudor d. Programul afiseaza: Overflow la stiva Andrei