Looking for Programación II (GII - GII+ADE) test answers and solutions? Browse our comprehensive collection of verified answers for Programación II (GII - GII+ADE) at moodle.upm.es.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Dadas las siguientes clases, marca la(s) afirmacion(es) correcta(s). El marcado de incorrectas tiene penalización.
public abstract class Herramienta {
private double precio;
public Herramienta (double precio) {
this.precio = precio;
}
public double precio () {
return precio;
}
public abstract String accion ();
}
public class Destornillador extends Herramienta {
private String tipoPunta;
public Destornillador (double precio, String tipo) {
super(precio);
tipoPunta = tipo;
}
public String accion () {
return "Atornillar";
}
public String tipoPunta () {
return tipoPunta;
}
}
public class Martillo extends Herramienta {
public Martillo (double precio) {
super(precio);
}
public String accion () {
return "Golpear";
}
}
public class Prueba {
public static void main (String args[]) {
Destornillador objeto1 = new Destornillador(5,"Estrella");
Herramienta objeto2 = objeto1;
Herramienta objeto3 = new Martillo(4);
Martillo objeto4 = (Martillo)objeto2;
System.out.print(objeto1.precio() + "");
System.out.print(objeto2.tipoPunta() + "");
System.out.print(objeto4.accion());
}
}
Dadas las siguientes clases:
abstract class GrupoA {
int a = 2;
int f () {
return a;
}
}
class GrupoB extends GrupoA {
int a = 3;
int f () {
return a;
}
}
class GrupoC extends GrupoB {
int a = 4;
}
class Grupos {
static int zorg (GrupoA x) {
System.out.print(x.a + "-");
return x.f()*10 + x.a;
}
public static void main (String[] args) {
GrupoC gc = new GrupoC();
System.out.print(gc.a + "-");
System.out.print(zorg(gc));
}
}
Indica lo que se muestra en la consola al ejecutar el main() de Grupos:
Dado el siguiente código en Java:
public class Persona {
private String nombre;
Persona(String nombre) {
this.nombre = nombre;
}
public boolean equals(Object obj) {
if (this == obj) return true;
if (! obj instanceof Persona ) return false;
Persona otro = (Persona) obj;
return nombre.equals(otro.nombre);
}
}
public class TestPersona {
public static void main(String[] args) {
Persona p1 = new Persona("Carlos");
Persona p2 = new Persona("Carlos");
Persona p3 = p1;
System.out.print(p1.equals(p2) + “ “);
System.out.print((p1 == p2) + “ “);
System.out.print(p1 == p3);
}
}
¿Cuál será la salida en consola al ejecutar este código? (La respuesta incorrecta tiene penalización).
Rellena lo que falta en el siguiente fragmento de código de la clase Cuadricula
public Casilla casilla (int i, int j) { return ; }
Dadas las siguientes clases, ¿qué ocurrirá al ejecutar el programa Prueba? El marcado de incorrecta tiene penalización.
public class Vehiculo {
public void acelerar() {
System.out.println("Vehiculo acelerando");
}
}
public class Coche extends Vehiculo {
public void tocarClaxon() {
System.out.println("Coche tocando el claxon");
}
}
public class Patinete extends Vehiculo {
public void cargarBateria() {
System.out.println("Patinete cargando");
}
}
public class Prueba {
public static void main(String[] args) {
Vehiculo[] misVehiculos = new Vehiculo[2];
misVehiculos[0] = new Coche();
misVehiculos[1] = new Patinete();
for (int i=0;i < misVehiculos.length; i++) {
((Coche)misVehiculos[i]).tocarClaxon();
misVehiculos[i].acelerar();
}
}
}
Dadas las siguientes clases:
abstract class GrupoA {
int a = 2;
int f () {
return a;
}
}
class GrupoB extends GrupoA {
int a = 3;
int f () {
return a;
}
}
class GrupoC extends GrupoB {
int a = 4;
}
class Grupos {
static int zorg (GrupoA x) {
System.out.print(x.a + "-");
return x.f()*10 + x.a;
}
public static void main (String[] args) {
GrupoC gc = new GrupoC();
System.out.print(gc.a + "-");
System.out.print(zorg(gc)); //32
}
}
Indica lo que se muestra en la consola al ejecutar el main() de Grupos:
Dado el siguiente código:
import tads.IStack;
import tads.BoundedStack;
public class Nav {
private String abierta;
private IStack<String> prevs;
private IStack<String> posts;
public Nav() {
prevs = new BoundedStack<String>();
posts = new BoundedStack<String>();
abierta = "en blanco";
}
public void openWeb(String url) {
prevs.push(abierta);
abierta = url;
}
public void retroceder() {
String anterior = abierta;
try {
abierta = prevs.peek();
prevs.pop();
posts.push(anterior);
}
catch (Exception e) {
System.out.print("No hay prevs->");
}
}
public void avanzar() {
String anterior = abierta;
try {
abierta = posts.peek();
posts.pop();
prevs.push(anterior);
}
catch (Exception e) {
System.out.print("No hay posts->");
}
}
public String toString() {
return abierta + "->";
}
public static void main (String[] args) {
Nav nav = new Nav();
System.out.print(nav);
nav.openWeb("a.es");
System.out.print(nav);
nav.openWeb("b.es");
System.out.print(nav);
nav.retroceder();
System.out.print(nav);
nav.avanzar();
System.out.print(nav);
nav.avanzar();
System.out.print(nav);
}
}
Escribe la salida en consola al ejecutarlo:
Dadas las siguientes clases:
class ListaEnlazada { Node<Integer> inicio; public String toString () { String resultado = "["; Node<Integer> aux = inicio; while (aux != null) { if (aux.next == null) resultado += aux.element; else resultado += aux.element + ", "; aux = aux.next; } return resultado + "]"; }}class ListaEnlazadaJugar { static void prueba1 () { Node<Integer> nodo1 = new Node<Integer>(1, null); Node<Integer> nodo2 = new Node<Integer>(2, null); Node<Integer> nodo3 = new Node<Integer>(3, null); ListaEnlazada lista = new ListaEnlazada(); nodo3.next = nodo2; lista.inicio = nodo3; nodo2.next = nodo1; Node<Integer> nodo = lista.inicio; System.out.println("lista = " + lista); } public static void main (String[] args) { prueba1(); }}
Indica lo que se imprime en el output:
Dado el siguiente código en Java, marcar la afirmación o afirmaciones correctas (las respuestas incorrectas tienen penalización):
public class Punto3DArray {
private double[] coords; // coordenadas x, y, z
public Punto3DArray (double[] coords) {
this.coords = coords;
}
public String toString () {
return "(" + coords[0] + ", " + coords[1] + ", " + coords[2] + ")";
}
}
Dadas las siguientes clases:
public class Libro {
private String name ;
private boolean prestado;
public Libro (String name, boolean prestado) {
this.name = name;
this.prestado = prestado;
}
public Libro (Libro libro) {
this.name = libro.name;
}
public String toString () {
return this.name + ":" + this.prestado;
}
public boolean esIgual (Libro libro) {
return this.name.equals(libro.name) &&
this.prestado == libro.prestado;
}
}
public class Prueba {
public static void main (String [] args) {
Libro libro1 = new Libro("Cocina japonesa", true);
Libro libro2 = new Libro(libro1) ;
System.out.println(libro1 + "**" + libro2 + "**" + libro1.esIgual(libro2));
}
}
Escribe la salida en consola al ejecutarlo: