Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Examenes!
#1
Wade Wilson escribió:[Imagen: 2n8vukj.jpg]

Respuestas:
1. D. class Man{private Dog bestFriend;}
2. F. Ninguno
3. E. El sistema tiene un directorio llamado newDir, que contiene un archivo f1.txt.
4. D. 2 3
5. D. ac
6. B. 82
7. B. No estoy seguro de esta.
8. E. Los objetos de referencia snooch y Booch son elegibles para GC.
9. C. Compilación falla.
10. B. TestB
[Imagen: OuJpQ6k.png]
Responder
#2
Final de Diciembre, los puntos anotados pueden no ser correctos, es solo una referencia para ver que tomaron! :P

[Imagen: 35in6l1.jpg]
[Imagen: OuJpQ6k.png]
Responder
#3
Wade Wilson escribió:Encontré las respuestas. Espero que le sirva a alguien.
1. Given:
public class Sequence {
Sequence() {
System.out.print("c ");}
{
System.out.print("y ");}
public static void main(String[] args) {
new Sequence().go();}
void go() {
System.out.print("g ");}
static {
System.out.print("x ");
}
}
What is the result?
A) c x y g
B) c g x y
C) x c y g
D) x y c g
E) y x c g
F) y c g x
The correct answer is D. We were lucky to stumble upon this SO answer that explains it. Essentially, the bit that prints out “x ” is inside what’s called a static initialization block, and that code gets run first, before anything else. The bit that prints “y ” is called an initilization block, and that gets injected into the beginning of the constructor so that is printed next(however, if the constructor called super(), that would execute first). Then the rest of the constructor is called, printing “c “. Finally, the method go() is called, printing “g “.
---------------------------------------------------------------------------------------
2. Given:
public class MyStuff {
MyStuff(String n) { name = n; }
String name;
public static void main(String[] args) {
MyStuff m1 = new MyStuff("guitar");
MyStuff m2 = new MyStuff("tv");
System.out.println(m2.equals(m1));
}
public boolean equals(Object o) {
MyStuff m = (MyStuff) o;
if(m.name != null)
return true;
return false;
}
}
What is the result?
A) The output is “true” and MyStuff fulfills the Object.equals() contract.
B) The output is “false” and MyStuff fulfills the Object.equals() contract.
C) The output is “true” and MyStuff does NOT fulfill the Object.equals() contract.
D) The output is “false” and MyStuff does NOT fulfill the Object.equals() contract
E) Compilation fails
The correct answer is C. The output is “true” because m1.name is not null. However, the equals() method does not fulfill the Object.equals() contract, which you can read about here. The relevant bit is:
It is reflexive: for any non-null reference value x, x.equals(x) should return true.
It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
For any non-null reference value x, x.equals(null) should return false.
The last part fails, if you try m2.equals(null), you will get a NullPointerException. It also fails if you do:
MyStuff m1 = new MyStuff(null);
MyStuff m2 = new MyStuff(“asdf”);
m1.equals(m2) returns true.
m2.equals(m1) returns false.
It’s not symmetric, and will not be transitive.
------------------------------------------------------------------------------
3. Given:
import java.util.*;
public class Primes {
public static void main(String[] args) {
List p = new ArrayList();
p.add(7);
p.add(2);
p.add(5);
p.add(2);
p.sort();
System.out.println(p);
}
}
What is the result?
A) [2, 5, 7]
B) [2, 2, 5, 7]
C) [7, 2, 5, 2]
D) [7, 5, 2, 2]
E) Compilation fails

The correct answer is E. List does not have a sort() method. You can use Collections.sort() to sort a list.
----------------------------------------------------------------------------
4. Given:
public class MyLoop {
public static void main(String[] args) {
String[] sa = {“tom “, “jerry “};
for(int x = 0; x < 3; x++) {
for(String s: sa) {
System.out.print(x + ” ” + s);
if( x == 1) break;
}
}
}
}
What is the result?
A) 0 tom 0 jerry 1 tom
B) 0 tom 0 jerry 1 tom 1 jerry
C) 0 tom 0 jerry 2 tom 2 jerry
D) 0 tom 0 jerry 1 tom 2 tom 2 jerry
E) 0 tom 0 jerry 1 tom 1 jerry 2 tom 2 jerry
F) Compilation fails.
The correct answer is D.
begin loop 1
x = 0;
begin loop 2
s = “tom ”
print “0 tom ”
s = “jerry ”
print “0 jerry “
end loop 2
x++
x = 1
begin loop 2
s = “tom ”
print “1 tom “
x ==1, so break loop 2
x++
x = 2
begin loop 2
s = “tom ”
print “2 tom “
s = “jerry ”
print 2 “jerry “
end loop 2
x++
x = 3
x < 3 is false
end loop 1
-------------------------------------------------------------------
5. Given:
interface Rideable {
String getGait();
}
public class Camel implements Rideable {
int weight = 2;
public static void main(String[] args) {
new Camel().go(8);
}
void go(int speed) {
++speed;
weight++;
int walkrate = speed * weight;
System.out.print(walkrate + getGait());
}
String getGait() {
return ” mph, lope”;
}
}
What is the result?
A) 16 mph, lope
B) 18 mph, lope
C) 24 mph, lope
D) 27 mph, lope
E) Compilation fails.
F) An exception is thrown at run time.
The correct answer is E. The method getGait() in Camel has “default” or “package-private” level access. The method getGait() in interface Rideable is public. Camel.getGait() needs to match the same access level as the interface.
Methods in interfaces are by default public. Methods in concrete classes are by default “default”.
---------------------------------------------------------------------------
6. Given:
class Alpha {
String getType() { return “alpha”; }
}
class Beta extends Alpha {
String getType() { return “beta”; }
}
class Gamma extends Beta {
String getType() { return “gamma”; }
public static void main(String[] args) {
Gamma g1 = new Alpha();
Gamma g2 = new Beta();
System.out.println(g1.getType() + ” ”
+ g2.getType());
}
}
What is the result?
A) alpha beta
B) beta beta
C) gamma gamma
D) alpha alpha
E) Compilation fails.
The correct answer is E. Alpha and Beta cannot be assigned to an object of Gamma as Gamma is the subclass of Beta, which is a subclass of Alpha. The opposite can be done, i.e. a Gamma assigned to an Alpha, or a Beta, in which case it would print “gamma gamma”.
--------------------------------------------------------------------------------
7. Given:
class Feline {
public String type = “f “;
public Feline() {
System.out.print(“feline “);
}
}
public class Cougar extends Feline {
public Cougar() {
System.out.print(“cougar “);
}
public static void main(String[] args) {
new Cougar().go();
}
void go() {
type = “c “;
System.out.print(this.type + super.type);
}
}
What is the result?
A) cougar c c
B) cougar c f
C) feline cougar c c
D) feline cougar c f
E) Compilation fails
F) An exception is thrown at run time.
The correct answer is C. When Cougar’s constructor is called, it calls Feline’s constructor first, which prints “feline “. Then Cougar’s constructor is called, printing “cougar “. go() assigns “c ” to the type of the object, which Cougar inherits from Feline. So this.type and super.type are both “c “.
[Imagen: OuJpQ6k.png]
Responder
#4
Buena onda el profesor que nos dejo una copia del final. Y si, les va a doler el cuello :P

[Imagen: 2czambl.jpg]
[Imagen: OuJpQ6k.png]
Responder
#5
Cita:2º PARCIAL DE OBJETOS 14/11/2013


El dueño de un complejo de canchas de Paddle (me niego a escribir Pádel), Fútbol y parripollo nos pide un sistema para administrar los turnos y las reservas de las canchas.

El complejo tiene canchas de paddle y canchas de fútbol.

Las canchas de paddle siempre son para 4 jugadores, mientras que las canchas de fútbol vienen en dos sabores, para equipos de 5 y equipos de 7.

Las canchas de paddle tienen un costo fijo de $100 por hora.
Las canchas de fútbol tienen precio por jugador, este precio es común a todas las canchas pero debe ser modificable. El total del precio de la cancha es la multiplicación de este por el total de jugadores de la cancha.

Si el turno es nocturno, en todos los casos el costo se aumenta un 50%.

De cada cancha se sabe los turnos en los que esta disponible y si son nocturnos o no. Todos los turnos son de 1 hora.

A continuación se puede ver un diagrama de los turnos de cada cancha.

Turno Turno Turno Turno Turno
Cancha
I
(paddle) Inicio: 9hs
Estado: RESERVADA
A: Pepe Mujica
Nocturno: NO Inicio: 10hs
Estado: LIBRE
A:
Nocturno: NO Inicio: 13hs
Estado: LIBRE
A:
Nocturno: NO Inicio: 14hs
Estado: LIBRE
A:
Nocturno: NO Inicio: 18hs
Estado: RESERVADA
A: Lula
Nocturno: NO
Turno Turno Turno Turno
Cancha
II
(paddle) Inicio: 8hs
Estado: LIBRE
A:
Nocturno: NO Inicio: 9hs
Estado: RESERVADA
A: Berlusconi
Nocturno: NO Inicio: 10hs
Estado: LIBRE
A:
Nocturno: NO Inicio: 19hs
Estado: RESERVADA
A: George Bush
Nocturno: SI
Turno Turno
Cancha
Fútbol Inicio: 20hs
Estado: LIBRE
A:
Nocturno: SI Inicio: 21hs
Estado: LIBRE
A:
Nocturno: SI

Nótese que no todas las canchas tienen turnos para todos los horarios. Pero que cuando tienen un turno este puede estar reservado, o no. Además, cada cancha puede tener una cantidad distinta de turnos (ej, la primera tiene 5, la segunda 4 y la tercera 2)

De los clientes, de los cuales sabemos el nombre y el celular, pueden reservar una cancha para un determinado horario. Para reservar la cancha debe dejar el 15% del costo final.

Algunos clientes son VIP, a esos se les permite tener una cantidad de reservas sin pedirles dinero. De cada cliente VIP se sabe cuántas reservas tiene permitidas. El cliente puede reservar más canchas, pero tiene que pagar las reservas. Por ejemplo si un cliente VIP tiene 2 reservas permitidas y una cancha reservada, y quiere reservar una segunda cancha, puede hacerlo sin pagar reserva. Si luego, teniendo dos reservas permitidas y dos canchas reservadas quisiera reservar una tercera cancha, debería pagar la reserva.


La funcionalidad requerida es:

1. El costo total para un turno.
2. El costo de reserva para un turno y para un cliente dado.
3. Reservar un turno para un cliente (no es necesario manejar el dinero, simplemente registrar la reserva).
4. La cantidad de turnos libres en una determinada cancha.
5. La cancha más ocupada de todas (o la que tiene más turnos ocupados)
6. El cliente que más turnos tiene reservados.
7. Todos los turnos disponibles.

Se pide:

• Diagrama de clases mostrando las clases y sus relaciones.
• Código con la implementación de los métodos de cada objeto (salvo getters y setters).
• Los envíos de mensaje en un workspace que resuelvan cada punto (no es necesario construir los objetos).
• Diagrama de objetos con los objetos necesarios para resolver alguno de los puntos pedidos.
[Imagen: OuJpQ6k.png]
Responder
#6
[Imagen: 15665585_10154823774214293_1024819124899...26427ab315]

[Imagen: 15622036_10154823774219293_5778094686337...4fa4e0294c]
Responder
#7
Muchas gracias!!!!
Time to make the chimi-fucking-changas!!!!!!!!!!
Responder
#8
Les dejo el Final del 1er llamado para Diciembre 2016. Las respuestas son del examen que yo rendí con una nota de 10. Las imágenes del parcial me las proporcionó otro compañero ya que me olvidé de sacarle foto a mi parcial.

Espero les sirva, saludos!


Archivos adjuntos Imagen(es)
           
Responder
#9
sgilberto escribió:Les dejo el Final del 1er llamado para Diciembre 2016. Las respuestas son del examen que yo rendí con una nota de 10. Las imágenes del parcial me las proporcionó otro compañero ya que me olvidé de sacarle foto a mi parcial.

Espero les sirva, saludos!

nrodriguez escribió:[Imagen: 15665585_10154823774214293_1024819124899...26427ab315]

[Imagen: 15622036_10154823774219293_5778094686337...4fa4e0294c]

IDOLOS!! Muchisimas gracias!!
[Imagen: OuJpQ6k.png]
Responder
#10
Gracias a todos los papus que me hacen la vida futura más fácil.
Pablo
Responder
#11
Final 2018

   

Código:
public class Empleado implements Comparable <Empleado> {
    
    public String nombre;
    public int dni;
    
    public Empleado(String nombre, int dni) {
        this.nombre = nombre;
        this.dni = dni;
    }
    
    public Empleado() {
        this(null,0);
    }
    
    public String toString() {
        return "Nombre: "+this.nombre+" y DNI: "+this.dni;
    }
    
    public int compareTo(Empleado z) {
        if(this.dni > z.dni) {
            return 1;
        }else {
            if(this.dni == z.dni) {
                return 0;
            }else {
                return -1;
            }
        }
    }
    
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }


    public int getDni() {
        return dni;
    }

    public void setDni(int dni) {
        this.dni = dni;
    }
}


Código:
import java.util.Arrays;

public class OrdenaEmpledos {

    public static void main(String[] args) {
        
        Empleado [] vector = new Empleado [5];
        
        vector [0]= new Empleado("Lorena",38398937);
        vector [1]= new Empleado("Juan",18529658);
        vector [2]= new Empleado("Miriam",27827820);
        vector [3]= new Empleado("Esteban",12345678);
        vector [4]= new Empleado("Lorena",38398937);
        
        int cantRepetidos = 0;
        
        Arrays.sort (vector);
        
        System.out.println("-----Vector Ordenado-----");

        for(int l=0; l<vector.length; l++){
            System.out.println(vector[l]);
        }
        
        for(int i=0; i<vector.length; i++){
           for(int k=i+1; k<vector.length; k++){
            if(vector[i].nombre.equals(vector[k].nombre) && vector[i].dni == vector[k].dni){
                    cantRepetidos++;
             }
           }
        }
        System.out.println("La cantidad total de empleados repetidos es "+cantRepetidos);
    }

}
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)