Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESEprogramacion todas las unidades

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
programacion todas las unidades

Descripción:
todas las unidades

Autor:
deprecated
(Otros tests del mismo autor)

Fecha de Creación:
24/05/2020

Categoría:
Informática

Número preguntas: 252
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
Después de las siguientes sentencias: int x=5; int y = x++; ¿Qué valores tendrán x e y? Seleccione una: x vale 5 e y vale 6 x vale 5 e y vale 5 x vale 6 e y vale 5 x vale 6 e y vale 6.
De las siguientes afirmaciones sobre los constructores en java, marca la que sea correcta. Seleccione una: Si no declaramos ningún constructor en nuestra clase, el compilador se encarga de definir implícitamente uno por defecto Los métodos constructores se declaran usando el modificador new delante del nombre del constructor Para crear un nuevo objeto de una clase, debo hacerlo siempre invocando al método this() En Java, el uso del método this() dentro la declaración de un constructor no permite invocar a otro constructor de la clase.
Dado x=10, y=20, z=30, ¿qué opción nos devolverá verdadero en la variable k? Seleccione una: boolean k = x!=z && ( x<y || y>=z ); boolean k = x<5 || ( y==z && z>x ); boolean k = x==y && ( z>y || z<x ); boolean k = x>=y || ( z<y && x<z );.
Dado el siguiente fragmento de código, indica cuál es la causa por la que este programa podría abortar: int[] vector = new int[10]; for (int i = 0; i <= 10; i++) { vector[i] = i - vector[0]; } for (int i = 0; i < 10; i++) { System.out.print("vector[" + i + "]=" + vector[i] + "; El programa aborta debido a una excepción no capturada, que se produce al intentar acceder a una posición fuera de los límites del array El programa aborta, debido a que se da contenido al array con valores a priori desconocidos, para luego mostrar por pantalla con un segundo for todos los valores del array El programa aborta debido a una excepción no capturada, que se produce en la primera iteración del bucle, donde se intenta operar con vector[0], al que todavía no le hemos dado ningún valor ste programa no abortaría en ningún caso.
Indica el valor de la variable x después de la siguiente sentencia de asignación: x = 2 + 10 / 10 + 2 * (10 +2 / 2); Seleccione una: 11 6 15 25.
Dado el siguiente fragmento de código, ¿por qué sentencia podríamos cambiar el comentario /*Línea a modificar*/ ? public class Vehiculo { int antiguedad; public void setAntiguedad(int nuevaAntiguedad){ antiguedad=nuevaAntiguedad; /*Línea a modificar*/ } } return void; return true; return antiguedad; No hace falta incluir ninguna sentencia más pues el método no devuelve ningún valor.
Referido al uso de paquetes en Java, marca la afirmación correcta. Seleccione una: La sentencia import permite importar de una sola vez todas las clases de un paquete, usando el carácter * como comodín, pero solo se importan las clases del paquete, no las clases de sus subpaquetes Para usar una clase en Java, debe indicarse de forma expresa a qué paquete pertenece con la palabra reservada package como primera sentencia del archivo .java en el que se declara esa clase Para poder usar cualquiera de las clases que nos proporciona el paquete java.lang de la API de Java, (ejemplo, las clases Math, String), es obligatorio importarlas explícitamente usando import. Un paquete en Java es una carpeta en la que se guardan todas las instancias creadas por una clase con sus referencias a atributos y métodos.
Dado el siguiente fragmento de código, ¿cuál es el valor de la variable resultado al terminar la ejecución? int numero = 8, contador =1, resultado=0; do { resultado = contador * numero; System.out.println(numero + " x " + contador + " = " + resultado); contador++; } while (contador < 10); El valor final de la variable resultado es 80 El valor final de la variable resultado es 360 El valor final de la variable resultado es 10 El valor final de la variable resultado es 72.
Dada la siguiente expresión regular: String expresionRegular = "[AB][0a-wA-W]?"; Indica cuál es la cadena que encaja en dicho patrón. Seleccione una: "BZ" "Az" "B" "A+".
Dada la sentencia: String cadena="Texto de prueba para la clase String"; Indica cuál será el resultado de evaluar la expresión: cadena.substring(0,5).concat(cadena.substring(cadena.length()-3)).endsWith("g"); Seleccione una: Ninguno, ya que no se puede evaluar, al no ser una expresión válida por usar métodos de la clase StringBuilder, no disponibles para la clase String El literal booleano true El literal booleano false El literal de tipo String "g".
El paquete java.io Seleccione una: Contiene las clases que gestionan la entrada y salida, ya sea para manipular ficheros, leer o escribir en pantalla, en memoria, etc. Incluye las clases relacionadas con la construcción de interfaces de usuario, es decir, las que nos permiten construir ventanas, cajas de texto, botones, etc Contiene herramientas para manipulaciones matemáticas. Contiene las clases básicas del lenguaje.
Dado el siguiente fragmento de código indica cuál es la afirmación correcta: int resultado=0; int contador; for (contador=1; contador<10; contador++) { resultado = resultado * contador; } System.out.println ("resultado: "+resultado+" contador "+contador); Seleccione una: El bucle se ejecuta 10 veces El valor de contador mostrado es 11 El valor de resultado mostrado es 45 El valor de resultado mostrado es 0.
Dada la cadena de caracteres: cadena = “PROGRAMAR”; Indica cuál es el resultado de la operación: cadena.substring(5) Seleccione una: AMAR GRAMAR AR MAR.
Señala la afirmación correcta. Seleccione una: Los atributos final de una clase pueden modificar su valor en cualquier momento Los atributos de las instancias de una clase public solo pueden ser accedidos desde métodos de la propia clase Si al declarar una clase no indico modificador alguno (modificador por defecto), sus atributos podrán ser usados también desde otras clases contenidas en el mismo paquete. Si declaramos un atributo de una clase como static, en cada instancia de la clase ese atributo podrá tener asignado un valor diferente.
Dado el siguiente fragmento de código, indica el valor asignado a la variable sueldo. boolean jefe = false; int sueldo = 0, dpto = 5; if(dpto > 0 && dpto < 4){ sueldo = 1000; }else{ sueldo = 500; } if(dpto == 2 || dpto == 5){ sueldo = sueldo + 200; } if(jefe) sueldo = 2000; 800 2000 600 700.
Dado el siguiente fragmento de código: public class Rompecabezas { public static void main(String[] args) { Rompecabezas r=new Rompecabezas(); System.out.println(r.metodoX(4)); } public int metodoX (int g) { int resultado=0; if (g>0) { resultado=g+2; } return resultado; } } ¿Qué resultado mostrará por pantalla? 6 8 4 10.
Queremos declarar un array bidimensional de 4 filas, en el que cada fila tenga un número diferente de columnas, que variará aleatoriamente entre 1 y 3 ¿Cuál de las siguientes declaraciones del array sería correcta? nt[][] array2D; array2D[0]=new int[]; array2D[1]=new int[]; array2D[2]=new int[]; array2D[4]=new int[]; No es posible declarar un array así. Un array de dos dimensiones siempre tiene el mismo valor para las columnas en todas sus filas, no es posible dimensionar arrays en los que cada fila tenga un número de columnas diferente. int[][] array2D = new int[4][]; for (int i = 0; i < 4; i++) { array2D[i] = new int[1 + (int) (Math.random() * 3)]; } No podemos declarar un array así, sin saber al escribir el código cuántos elementos va a tener cada dimensión, no es posible dimensionarlo en tiempo de ejecución.
Señala la afirmación correcta Los métodos "set" permiten consultar el valor de los atributos de la clase, aunque éstos se hayan declarado como private Usar métodos "get" y "set", permite acceder a atributos private de una clase desde otras clases, impidiendo el encapsulamiento y ocultamiento de la información de la clase. El operador this es la referencia al objeto actual. Así, en los métodos "set", this se usa para evitar la ambigüedad entre el nombre del atributo y el nombre del parámetro que se le pasa al método. Los métodos "get" permiten modificar el valor de los atributos de la clase, aunque éstos se hayan declarado como private.
Dado el siguiente fragmento de código, calcular cuántas veces se ejecutará el bucle: int leidos=0, totalALeer=5; while(leidos < totalALeer){ System.out.println("Introduciendo número "+(leidos+1)+"º: "); numero=teclado.nextInt(); if (numero>=0){ leidos++; sumaTotal+=numero; } else System.out.println("El número "+ numero+" es negativo, y se descarta."); } Seis veces Cinco veces Como máximo cinco veces, aunque puede que sea menos si el usuario introduce un número negativo Un número indeterminado de veces, pues cada vez que el usuario introduzca un número negativo se volverá a pedir otra vez y no se considerará que se ha leído un número hasta que sea positivo.
De los siguientes fragmentos de código, ¿cuál se encontraría en la cabecera de la clase? String m; public class Vivienda { public static void main(String[] args); int superficie;.
¿Qué problema observas en la siguiente declaración en Java? public enum Days {YESTERDAY, TODAY, TOMORROW}; No hay ningún problema en esa declaración. Es la declaración de un tipo enumerado y debería funcionar perfectamente No puede usarse la palabra Days como identificador para una variable, pues esa palabra ya está reservada en el lenguaje Java y se utiliza para almacenar días de la semana Se produce una pérdida de precisión La palabra reservada enum no existe en el lenguaje Java.
Indica el valor de la variable v después de la siguiente sentencia de asignación : v = 10*2+2+12/2; 50 28 40 54.
Señala el valor de las siguientes expresiones en Java, suponiendo a y b variables de tipo lógico: a=true, b=false, implica que a || b es false a=true, b=false, implica que a || b es true a=true, b=false, implica que a && b es true a=true, b=true, implica que a && b es false.
Dado a=0, b=10 y c=20, ¿en que caso la variable z sería verdadero? boolean z = a>b ^ c>b; boolean z = a!=b ^ c>b; boolean z = a==b ^ c<b; boolean z = b>=a ^ c>=b;.
¿Qué problema observas en la siguiente declaración de variables en Java? short inicial= 2, medio=5, final=7; No hay ningún problema en esa declaración. Debería funcionar perfectamente No puede usarse la palabra final como identificador para una variable, pues esa palabra ya está reservada en el lenguaje Java y se utiliza para declarar constantes Se produce una pérdida de precisión al almacenar esos números enteros un tipo tan pequeño como el tipo short. El tipo short no existe en el lenguaje Java.
Suponiendo que a y b son variables enteras a las que se les ha asignado el mismo valor y que c es una variable de tipo String, marca la opción que mejor describa el resultado de la sentencia : c=(a>=b) ? "a es menor o igual que b" : "a y b son iguales"; Asigna a c el valor "a y b son iguales". Producirá un error en tiempo de compilación, puesto que la sintaxis no es correcta Asigna a c el valor "a es menor o igual que b", aunque no sea cierto Asigna a c el valor de a, puesto que tanto a como b valen lo mismo.
Dado a=0, b=10 y c=20, ¿en que caso la variable z sería verdadero? boolean z = a>0 || (a>b & c>b); boolean z = a!=b && (c>b || b>30); boolean z = a==b || (c<b && a>b); boolean z = a==b && (b>=a ^ c>=b);.
Indica los valores de x y z después de las siguientes sentencias: int x = 10; int z = x++%5; x es 9 y z es 1. x es 11 y z es 0 x es 9 y z es 0 x es 11 yz es 1.
Indica los valores de x y z después de las siguientes sentencias: int x = 10; int z = ++x%5; x es 9 y z es 1. x es 9 y z es 0. x es 11 y z es 0. x es 11 y z es 1.
Dado a=0 y b=10 dos variables tipo int, ¿cuál de las siguientes expresiones sería falso? (ten en cuenta la precedencia de operadores) a+10>b a+b==10 a==b-10 a<=b-10.
Dado a=0, b=10 y c=20, ¿cuál de las siguientes expresiones sería verdadero? a>b & c>b a!=b & c>b a>b & c!=b a>=b & c<=b.
¿Cuál de las siguientes expresiones dará como resultado 20? 7 + 7 / 2 * 8 + 4 / 2 * 2 7 + 6 / 2 * 3 + 4 / 2 * 2 3 >= 5 || 7 * 5 > 21 8 != 9 – 1 && 7 * 5 > 35.
Dado el siguiente código: int resultado; do{ double num=(double)Math.random()*6; resultado=(int)num; System.Out.Println("Resultado: "+ resultado); }while(resultado!=6); resultado= resultado+1; Podemos decir que: La variable resultado, tarde o temprano valdrá 7 En ningún momento veremos el número 0 por pantalla La variable resultado nunca valdrá 7 En algún momento veremos por pantalla el número 6.
Dada una instancia de List de tipo LinkedList llamada miLista, ¿Como obtendríamos el tamaño?: miLista.size() miLista.size miLista.length() miLista.length.
Dado el fragmento de código: String persona="Luna Garrido, Juan Carlos"; String[][] listado= new String[10][2]; //Guarda nombre (1 column.) y apellido (2 column) Para insertar el nombre de persona correctamente en el último lugar de la lista, el código adecuado será: listado[listado.length-1][0] = persona.substring(persona.indexOf(", ")+2); listado[listado.length][0] = persona.substring(persona.indexOf(", ")+2); listado[10][1] = persona.substring(persona.indexOf(", ")+2); listado[10][0] = persona.substring(persona.indexOf(", ")+2);.
En un entorno JavaFX, queremos ponerle de titulo a nuestro escenario, "Mi Primer Escenario". La forma correcto de hacerlo sería: primaryStage.setTitle("Mi Primer Escenario"); primaryStage("Mi Primer Escenario"); primaryStage.getTitle("Mi Primer Escenario"); primaryStage.add("Mi Primer Escenario");.
Preparamos la siguiente consulta: Statement s= conex.createStatement(); ResultSet rs= s.executeQuery("SELECT nombreCliente FROM clientes"); Podemos decir que anteriormente, conex fue el encargado de establecer la conexión con la base de datos y es un objeto de tipo: Statement ResultSet Connection PreparedStatement.
En una clase Cuenta se quiere definir un atributo banco el cual sea constante y que almacene el nombre de la entidad bancaria, el cual será el mismo para todas las cuentas. Cual de las siguientes sería la forma correcta de definir dicho atributo: public static final String BANCO = "nombre del banco"; public final String BANCO = "nombre del banco"; public static String BANCO = "nombre del banco"; public final static String banco = "nombre del banco";.
La serialización es un proceso por el que un objeto se convierte en una secuencia de bytes con la que más tarde se podrá reconstruir el valor de sus variables. Esto permite guardar un objeto en un archivo. Verdadero Falso.
Dado el siguiente trozo de código, al ejecutarse generaría una excepción tipo IndexOutOfBoundException: int[] a= new int[10]; a[a.length]=10; Verdadero Falso.
Marca los valores que sean literales booleanos en Java: unknown false returned true.
El lenguaje máquina es directamente interpretable por: El compilador Un circuito microprogramable La memoria RAM Las personas.
Un identificador es una secuencia ilimitada sin espacios de _____ que pertenecen al código Unicode. símbolos ASCII dígitos letras letras y dígitos.
El lenguaje Ensamblador apareció para reducir la complejidad del lenguaje máquina y acercar la programación al lenguaje humano. ¿Verdadero o falso? Verdadero Falso.
Para las cadenas de caracteres (String), el método equals() indica si dos cadenas son o no iguales. Pero si deseamos ignorar las mayúsculas en la comparación deberíamos utilizar el método: toUpperCase() equalsIgnoreCase() inAnyCase() metaCase().
¿Qué orden debemos introducir en línea de comandos para poder obtener un archivo .class, si tuviéramos un archivo llamado programa.java? javac.exe javac programa.java java programa.java /java programa.class.
Una variable local deja de existir cuando finaliza la ejecución del bloque de código donde fue declarada Verdadero Falso.
Necesitamos una variable que represente los días de la semana. Marcar el tipo más apropiado para representar esa variable: Un tipo real Un tipo float Un tipo enumerado Un tipo double.
El operador utilizado para comparar si dos valores son iguales es el signo igual ( = ). ¿Verdadero o falso? Verdadero Falso.
La compilación de aplicaciones en Java se realiza mediante el programa javac dando lugar a archivos de bytecodes con la extensión... .java .class .obj .bytecode.
¿Qué es un literal? El nombre que se le da a las variables Valores concretos para los tipos primitivos, el tipo String o la referencia null El nombre que se le da a los tipos de datos Ninguna de las respuestas anteriores es cierta.
Asocia cada expresión con la operación correspondiente: variable--; --variable; estacion2= Estaciones.valueOf("Winter"); volumen \= areaBase * altura;.
Los programas que se ejecutan utilizando intérpretes resultan ________ respecto a los programas compilados. de mayor tamaño algo más lentos de igual tamaño de menor tamaño.
El operador que se usa para la toma de decisiones es... :? : ?; ?:.
Dada la siguiente expresión double x = 15/2.0;: x vale 7 ya que el operador / es división entera x vale 7.5 ya que al ser uno de los operandos de tipo real la división será real No se puede evaluar porque 15 es de tipo entero y 2.0 es de tipo real Todas las respuestas anteriores son falsas.
Una variable local almacena un valor temporal y se declara dentro de... Una clase Un método Un tipo de datos Un bloque de código entre corchetes.
¿Con qué tipo de bucle podemos simular un for? Con un bucle while Con cualquier bucle controlado por sucesos combinado con variables usadas como contador dentro y fuera de los bucles Con un bucle do-while Ninguna de las respuestas anteriores es correcta.
¿Java permite incluir más de un return dentro de un mismo método? No, es obligatorio que haya un solo return y que sea la salida natural del método, ejecutándolo como última sentencia al final del mismo. Sí, puede haber hasta 2 sentencias return, aunque tienen que estar obligatoriamente en ramas distintas de una misma sentencia condicional. Sí, y hará que éste finalice en el lugar donde se encuentre el primer return, aunque al hacerlo no podemos dejar "sentencias inalcanzables" en el código, a las que nunca se pueda llegar porque siempre haya un return previo que "corte el paso". No, return sólo se incluirá en aquellos métodos que devuelven algún valor distinto de void.
Dado el siguiente fragmento de código: int contador, acumulador=1; for (contador=1; contador<=4; contador++) { acumulador *= contador; } Calcular cuánto valdrá la variable acumulador tras la ejecución del bucle. acumulador valdrá 10 acumulador valdrá 0 acumulador valdrá 24 acumulador valdrá 12.
Las pruebas en las que no se utiliza ningún conocimiento del funcionamiento interno del programa como parte de la prueba Son las de caja blanca Sólo se consideran las entradas y las salidas El programa se piensa como si fuera una caja negra que recibe datos de entrada y ofrece unas salidas determinadas Son adicionales a las pruebas funcionales.
¿Qué es necesario incluir en cada conjunto de sentencias asociadas a los posibles valores que pueden tomarse en un switch? Puntos y comas La cláusula case Una sentencia continue Una cláusula default.
Si sabemos exactamente cuántas iteraciones vamos a realizar en un bucle, ¿qué tipo de bucle debemos utilizar? Un bucle while con una condición robusta Un bucle do-while, ya que realiza al menos una entrada en el código del bucle Un bucle for Todas las respuestas anteriores son correctas.
¿Java permite utilizar un return en cualquier punto de un método donde nos venga bien terminar la ejecución, con lo que éste finalizará en el lugar donde se encuentre dicho return? No, siempre debe procurarse que haya un solo return y que sea la salida natural del método, ejecutándolo como última sentencia al final del mismo Sí, aunque cada método sólo puede contener una única sentencia return No, return sólo se incluirá en aquellos métodos que devuelven void Sí, y hará que éste finalice en el lugar donde se encuentre el return.
¿Qué elemento puede no existir en una sentencia de selección múltiple en Java? La expresión Los case La cláusula default La instrucción switch.
Cuando creamos programas, es recomendable colocar todas las sentencias una detrás de otra, separadas por puntos y comas en una misma línea. De este modo ahorraremos líneas de código. ¿Verdadero o falso? Verdadero Falso.
El bucle for/in se considera un bucle controlado por sucesos. Verdadero Falso.
Dado el siguiente fragmento de código: int a=1, b=2, auxiliar=0; b=a; a=b; Calcular el valor de las variables a y b tras su ejecución. a valdrá 1 y b valdrá 2 a valdrá 0 y b valdrá 2 a valdrá 2 y b valdrá 1 Tanto a como b valdrán 0 Tanto a como b valdrán 1 Tanto a como b valdrán 2.
El uso en Java de etiquetas para indicar posiciones de código a las que saltar usando las sentencias break y continue es muy aconsejable, ya que nos aporta flexibilidad, al permitirnos evitar las rígidas reglas de las estructuras de control de flujo. ¿Verdadero o falso? Verdadero Falso.
A un tipo de sentencia que incluye una condición y un conjunto de secuencias de instrucciones asociadas a ella, que se ejecutan o no dependiendo del valor que tome la condición, se le denomina estructura de selección. ¿Verdadero o falso? Verdadero Falso.
Los bloques de sentencias son utilizados en Java en la práctica totalidad de estructuras de control de flujo, clases, métodos, etc. ¿Verdadero o falso? Verdadero Falso.
Dado el siguiente fragmento de código: int contador, acumulador=0; for (contador=1; contador<=4; contador++) { acumulador *= contador; } Calcular cuánto valdrá la variable acumulador tras la ejecución del bucle. acumulador valdrá 11 acumulador valdrá 0 acumulador valdrá 24 acumulador valdrá 12.
Dado el siguiente fragmento de código: int numero = 7; int contador; int resultado=0; contador = 1; do { resultado = contador * numero; System.out.println (numero + " x " + contador + " = " + resultado); } while (++contador <= 10); Indicar cuáles de las siguientes afirmaciones es correcta. El valor final de la variable contador es 11 El valor final de la variable resultado es 70 El valor final de la variable resultado es 63 Se trata de un bucle infinito que jamás finalizará su ejecución.
Dado el siguiente fragmento de código: int num_aciertos = 15; int num_errores = 4; int num_preguntas = 20; double nota = 0; String calificacion=""; nota = ((num_aciertos - (num_errores/2))*10.0)/num_preguntas; if (nota < 5) { calificacion="INSUFICIENTE"; } else { if (nota >= 5 && nota <6) calificacion="SUFICIENTE"; if (nota >= 6 && nota <7) calificacion="BIEN"; if (nota >= 7 && nota <9) calificacion="NOTABLE"; if (nota >= 9 && nota <=10) calificacion="SOBRESALIENTE"; } Indicar cuáles de las siguientes afirmaciones son correctas. El valor final de la variable calificacion es "BIEN" El valor final de la variable nota es 6.5 El valor final de la variable num_preguntas es 20 El valor final de la variable nota es 5.5 El valor final de la variable calificacion es "SUFICIENTE" Se trata de una estructura de control selectiva basada en la sentencia switch.
Dado el siguiente código, ¿cuál sería el valor de i al final? int i=10, j=3; while (j>0) { if (j>2) {j--; i++;} else j--; } Es un bucle infinito 13 No se puede compilar 11 .
Dado el siguiente fragmento de código: int numero = 1 int contador; int resultado=0; for (contador=1; contador<10;contador++) { resultado = contador * numero; System.out.println (numero + " x " + contador + " = " + resultado); } Indicar cuáles de las siguientes afirmaciones son correctas El valor final de la variable resultado es 9 Es un bucle que se realiza nueve veces Se trata de una estructura de control iterativa El valor final de la variable resultado es 10 Es un bucle que se realiza diez veces Se trata de una estructura de control selectiva.
¿En qué bucle se lleva a cabo la inicialización de una variable en su cabecera? En el bucle for En el bucles for/in En el bucle while En el bucle do-while.
¿Qué tipo de estructura no lleva a cabo ningún tipo de comprobación lógica? Las estructuras de selección Las secuencias Las estructuras de iteración Las secuencias repetitivas.
¿Con qué instrucción se implementa en Java una estructura de selección múltiple? Con una instrucción que contenga el operador condicional ? Con la instrucción switch Con la instrucción while Con la instrucción select.
Cuando estamos creando un programa, y tras ejecutarlo no obtenemos el resultado esperado, es recomendable recorrer paso a paso el programa, viendo los valores que toman las variables, etc., y para ello es útil usar una herramienta como el... Depurador o debugger Enlazador Bug PointerBreak.
¿Qué hace el siguiente fragmento de código? if (numero % 2 != 0) System.out.print("Condición cumplida."); Muestra el mensaje por pantalla cuando el número almacenado en la variable numero es par Muestra el mensaje por pantalla cuando el número almacenado en la variable numero es impar Muestra el mensaje por pantalla cuando al dividir el valor de la variable numero entre 2 obtenemos cero como resultado No muestra el mensaje por pantalla, ya que la condición del if nunca se cumplirá.
Un depurador nos permite llevar a cabo acciones como: Ejecuciones paso a paso Compilar condicionalmente ciertas partes del código Eliminar del programa las variables no utilizadas durante un tiempo Establecer puntos de ruptura o breakpoints Observar el contenido de variables durante la ejecución Modificar el contenido de variables durante la ejecución.
Si tengo en un programa declaradas las variables: int variable1 = 0 ; float variable2 = 0 ; y a continuación if (variable1 > variable2) variable1 = variable2 ; ¿qué puedo afirmar? Que variable1 va a convertirse en float Que hay un error en tiempo de compilación Que variable1 es mayor que variable2 Que el programa va a abortar mientras se ejecuta debido a un error.
¿Es conveniente y aconsejable utilizar un return en cualquier punto de un método donde nos venga bien terminar la ejecución, con lo que éste finalizará en el lugar donde se encuentre dicho return? No, siempre debe procurarse que haya un solo return y que sea la salida natural del método, ejecutándolo como última sentencia al final del mismo Sí, y hará que éste finalice en el lugar donde se encuentre el return Sí, y podemos añadir tantos return como necesitemos No, return sólo se incluirá en aquellos métodos que devuelven void.
Se recomienda no invocar nunca a un método estático mediante una referencia a un objeto de su clase, ya que aunque es posible hacerlo, puede generar confusión, ya que parecería que el método se está ejecutando para hacer algo con ese objeto específico, cuando en realidad, no haría falta ni instanciar ningún objeto para invocar dicho método. Verdadero Falso.
Los métodos estáticos se pueden ejecutar aunque no existan objetos de la clase en la que se han definido. Verdadero Falso.
La POO divide los programas en un conjunto de acciones, mientras que la Programación Estructurada lo que hace es descomponer en objetos. Verdadero Falso.
La entrada por teclado con la clase System encapsula un objeto en la clase InputStreamReader para posteriormente encapsularlo en la clase BufferedReader. Verdadero Falso.
La abstracción es una propiedad mediante la cual los objetos se ven según su comportamiento externo Verdadero Falso.
Si queremos escribir en pantalla el contenido de la variable double x con sólo dos cifras decimales la instrucción sería: System.out.printf ("%2f", x); System.out.printf ("2.%f", x); System.out.printf ("%.2f", x); System.out.printf ("%2.f", x);.
Marca las formas en las que resulta posible invocar a un método estático. Mediante una referencia a un objeto de la clase en la que se define el método, si tal objeto existe. Mediante una referencia al paquete que contiene a la clase en la que se define el método, siempre que se haya importado dicho paquete completo con import. Mediante el nombre de la clase que define al método estático. Desde el interior de la clase que los define, exclusivamente, sin que sea necesario usar el nombre de la clase para invocarlo, aunque no pasa nada por ponerlo.
Cuando escribimos un programa o aplicación, lo que hacemos es definir las clases y al ejecutar el programa se crean los objetos. Verdadero Falso.
Dado el siguiente fragmento de código: public static int funcion (int numero) { int resultado=1; for (int n = numero; n>1; n--){ resultado *= n ; } return resultado; } Indicar cuáles de las siguientes afirmaciones son correctas. Es un ejemplo de solución de un problema de forma iterativa Si se llama a este método con el valor 5 el resultado será 120 Si se llama a este método con el valor 0 el resultado será 1 Si se llama a este método con el valor 6 el resultado será 120 Es un ejemplo de recursividad infinita, pues no se dispone de caso base Es un ejemplo de solución de un problema de forma recursiva.
Los constructores son métodos especiales que no devuelven explícitamente ningún valor, lo que se indica sin utilizar ninguna palabra reservada. Verdadero Falso.
El constructor es invocado cada vez que se utiliza un objeto Verdadero Falso.
En la Programación Orientada a Objetos, los objetos se crean y entre ellos se envían mensajes, para luego ser destruidos y liberada la memoria que ocupan. Verdadero Falso.
Los métodos estáticos son aquellos métodos que se pueden utilizar solamente una vez que se ha instanciado el objeto. Verdadero Falso.
¿Cuál de las siguientes frases sobre clases es incorrecta? A partir de una instancia se crean tantas clases como sea necesario Una clase consta de atributos y métodos que resumen las caracteristicas de un grupo de objetos Una clase contiene atributos en los que cada instancia almacenará valores concretos Una clase contiene métodos que pueden utilizarse para manejar las instancias.
Si queremos escribir en pantalla el contenido de la variable double x con sólo dos cifras decimales y una justificación de ocho caracteres, rellenando con ceros los espacios en blanco, la instrucción sería System.out.printf ("%02.8d", x); System.out.printf ("0%2.8f", x); System.out.printf ("%08.2f", x); System.out.printf ("0%8.2f", x);.
En la definición de una clase debemos tener en cuenta que... Crearemos la clase con la palabra reservada classes Siempre es necesario incluir un método main() en toda clase que creemos, para poder invocar dicha clase, ya que de lo contrario no será posible usarla para nada Se deben incluir los atributos comunes del conjunto de objetos y los métodos que operan sobre ellos El archivo de la clase debe tener el mismo nombre que el método que contenga dicha clase.
En cualquier lenguaje de programación, como por ejemplo C, encontramos el recolector de basura, para eliminar objetos que ya no se usan en memoria. Verdadero Falso.
Indica cuál de las siguientes afirmaciones es una ventaja del ocultamiento de la información. Simplifica la percepción del cliente respecto del método Permite crear una clase nueva en términos de una ya existente Evita usos inadecuados de los datos Oculta el código de forma que sólo será visible para quien lo programó, evitando que nadie más pueda modificarlo sin conocimiento de causa.
Los métodos estáticos se pueden invocar sin ninguna referencia desde dentro de la clase que los define, mediante el nombre de la clase si se usan desde otras clases, o incluso mediante una referencia a un objeto de dicha clase, en caso de que exista Verdadero Falso.
Los métodos estáticos son globales a toda la clase, por lo que nunca pueden ser invocados mediante la referencia a un objeto. Verdadero Falso.
Se recomienda invocar siempre los métodos estáticos... Mediante una referencia a un objeto Mediante una referencia a un paquete Mediante el nombre de la clase que define al método estático Desde el interior de la clase que los define, exclusivamente, sin que sea necesario usar el nombre de la clase para invocarlos, aunque no pasa nada por ponerlo.
Aquellos métodos definidos para una clase que se pueden usar directamente, sin necesidad de crear un objeto de dicha clase, son conocidos como Los métodos dinámicos Los métodos constructores Los métodos estáticos Los métodos elementales.
Puede haber varios constructores para una clase, que se llamarán todos igual, y con la misma lista de argumentos. Verdadero Falso.
Dado el siguiente código: public class Persona { int edad; public void setEdad(int nuevaEdad) { edad=nuevaEdad; /*Línea a modificar*/ } } ¿cuál de las siguientes sentencias se podría sustiuir por el comentario /*Línea a modificar*/? return; return edad; return void; return true;.
El hecho de que al estar separados los datos de las funciones, sean visibles para toda la aplicación, de modo que cualquier modificación en los datos pueda requerir la modificación en todas las funciones del programa, es propio de la Programación Orientada a Objetos. Verdadero Falso.
Supuesto un objeto de una clase Fruta, el color, tamaño, tipo, olor, etcétera, serían Métodos Mensajes Atributos Subclases.
Cuando creamos un objeto llamando al nombre de la clase sin argumentos, estamos utilizando el constructor por defecto. Verdadero Falso.
Los atributos de las clases en Java pueden ser de tipo primitivo o bien pueden ser objetos de otras clases. Verdadero Falso.
¿Qué retornará el código "hola mundo".replace("o","i").toUpperCase().startsWith("HO");? El resultado será "HOHILA MUNDI" Contiene un error y no compilará El resultado será false El resultado será -1.
Dado el siguiente fragmento de código: String cad="mundo"; String d= String.format("Resultado: hola %S", cad); System.out.println (d); Indicar cuáles de las siguientes afirmaciones son correctas. Se mostrará en pantalla el texto Resultado: hola MUNDO Se mostrará en pantalla el mismo texto que si se hubiera hecho d= String.format("Resultado: hola %s", cad.toUpperCase()) en lugar de String.format("Resultado: hola %S", cad). Es decir utilizar %s en lugar de %S si primero se pasa la cadena cad a mayúsculas Se mostrará en pantalla el mismo texto que si se hubiera utilizado el especificador de formato %s en lugar de %S. Se mostrará en pantalla el mismo texto que si se hubiera hecho d= String.format("Resultado: hola %s", cad.toLowerCase()) en lugar de String.format("Resultado: hola %S", cad). Es decir utilizar %s en lugar de %S si primero se pasa la cadena cad a minúsculas.
¿Cuál es la peor forma de comparar las cadenas a y b? a==b a.compareTo(b) b.equals(a) b.equalsIgnoreCase(a).
¿Cuál de las siguientes afirmaciones sobre el método toString() es falsa? Está disponible en cualquier clase de Java Los tipos de datos primitivos, int, long, etc. pueden pasarse a cadena con este método directamente Sirve para convertir un objeto a cadena, es especialmente útil en las clases envoltorio de los datos primitivos. Este método está disponible en la clase String.
El método getLength() disponible en todos los arrays permite obtener el tamaño del array. ¿Verdadero o falso? Verdadero Falso.
La capacidad de las estructuras denominadas estáticas... Es infinita. Se establece en el momento de la creación Crece conforme insertamos nuevos elementos Depende de los elementos que se inserten.
Dada una instancia de StringBuilder llamada a que contiene la cadena "111111", ¿cuál de las siguientes expresiones es correcta? a.push("00"); a.add("00"); a.remove(0,2); a.insert(3,"00"); .
¿Cuál de las siguientes expresiones encaja con la expresión regular "[A-Z0-9]+0-9"? "0AZZ-9" "AAA09" "ABC9+0" "AZ090-9".
A continuación, se muestra un listado de métodos que permiten comprobar, a través de la clase Matcher, si una cadena encaja con un patrón. ¿Cuál de ellos debe usarse con los métodos start() y end(), también disponibles en la clase Matcher? (Imagina que m es una instancia de la clase Matcher.) m.find() m.search() m.lookingAt() m.matches().
Dado el siguiente código: Pattern p=Compile.pattern("[01]+"); //línea 1 Matcher m=p.matcher("00001010"); //línea 2 m.matches(); //línea 3 m.find(); //línea 4 Indica que línea de las anteriores es incorrecta: Línea 1 Línea 2 Línea 3 Línea 4.
Dado el código siguiente: String b=String.format("%06d",1); System.out.println(b); ¿Qué se mostraría por pantalla? Se mostraría 000006 Se mostraría 6.000000 Saltaría una excepción Se mostraría 000001.
Dado el siguiente fragmento de código: String cadena= ES.leeCadena(); Pattern patron= Pattern.compile ("-|(D?C{0,4}L?X{0,4}V?I{0,4})"); Matcher acoplamiento= patron.matcher(cadena); Indicar cuáles de las siguientes afirmaciones son correctas. Si el valor de la variable cadena es "DCCXV" la expresión acoplamiento.matches() valdrá true Si el valor de la variable cadena es "MDCXV" la expresión acoplamiento.matches() valdrá false Si el valor de la variable cadena es "DCCXV" la expresión acoplamiento.groupCount() valdrá 1 Si el valor de la variable cadena es "DCCXV" la expresión acoplamiento.group(0) valdrá DCC Si el valor de la variable cadena es "XCVIII" la expresión acoplamiento.matches() valdrá true Si el valor de la variable cadena es "CCCXXXLVIII" la expresión acoplamiento.matches() valdrá true.
¿Cuál de las siguientes declaraciones de arrays no es correcta? int vector[]= {1, 2, 3}; int vector= new int (10); int[] vector; Todas son incorrectas.
La expresión [afh] admite como válida la cadena "afh". ¿Verdadero o falso? Verdadero Falso.
Dado el siguiente fragmento de código: boolean b=true; String d= String.format ("Resultado: %b", !b); System.out.println (d); Indicar cuáles de las siguientes afirmaciones son correctas. Se mostrará en pantalla el texto Resultado: false Se mostrará en pantalla el mismo texto que si se hubiera utilizado el especificador de formato %s en lugar de %b. Se mostrará en pantalla el mismo texto que si se hubiera utilizado el especificador de formato %S en lugar de %b Producirá un error de ejecución pues el caracter especificador de formato para boolean es %B (en mayúscula).
Dado el siguiente código: String ex="[AZ]{2}"; String cad="AZ-BZ-ABZD"; Pattern p=Pattern.compile(ex); Matcher m=p.matcher(cad); int i=0; while (m.find()) { i++; } System.out.println(i); ¿Qué número mostrará por pantalla? 5 3 1 8.
Dado el código String b="C"; b=b.concat(""+b.length); System.out.println(b); podríamos afirmar que: No es necesario poner ""+b.length, basta con poner b.length No es correcto poner b.length, habría que poner b.length() Es perfectamente correcto y mostraría "C1" No se puede obtener la longitud de la cadena a la vez de concatenar, por lo que saltaría una excepción.
Dado el siguiente fragmento de código: int nC=2; String resultado= new String(); resultado += " +"; for (int i=0; i<nC; i++) { resultado += "---"; } resultado +="--+"; System.out.println (resultado); Indicar cuáles de las siguientes afirmaciones son correctas Se están utilizando objetos de tipo cadena inmutables (clase String). Cada vez que el contenido de la cadena resultado cambie se instanciará un nuevo objeto de la clase String. Al utilizarse un objeto de la clase StringBuilder sólo se instanciará un objeto de tipo cadena de caracteres de tipo StringBuilder, mientras que si se hubiera utilizado una cadena de tipo String se habría instanciado un nuevo objeto cada vez que la cadena hubiera cambiado Si se hubiera utilizado clase clase StringBuilder en lugar de la clase String se habría podido ir modificando la cadena resultado sin necesidad de que se creara un nuevo objeto de tipo cadena cada vez que cambiase su contenido.
Toda clase Java debe tener como mínimo un atributo privado y un atributo público. Verdadero Falso.
El compilador de Java debe tener conocimiento de dónde comienza la estructura de carpetas definida por los paquetes y en la cual se encuentran las clases. Para ello se utiliza la variable de entorno... PATH JAVALIBRARY JAVA_PATH CLASSPATH.
¿Cuál de los siguientes modificadores no es aplicable a una clase? public inherited abstract final.
En relación a la reserva de espacio e inicialización de atributos cuando se crea un objeto nuevo, podemos decir que... El método que se encarga de ello debe nombrarse obligatoriamente como Constructor El método que se encarga de ello debe nombrarse con el mismo nombre que tenga el atributo Al método que realiza esa función se le llama método constructor Al método que realiza esa función se le llama método inicializador.
El modificador static hace que un atributo sea común para todos los objetos de una misma clase. Verdadero Falso.
La destrucción de un objeto en Java es automática cuando éste deja de ser referenciado y no es necesario llevarla a cabo de manera manual con un método destructor _____. Verdadero Falso.
¿Cuál de los siguientes modificadores no es aplicable a un atributo? public extern protected private.
Toda clase Java debe tener como mínimo un método constructor y un método destructor Verdadero Falso.
En una clase, aquellos métodos que no utilicen ninguna variable de objeto podrían declararse como estáticos (pertenecientes a la clase). Verdadero Falso.
Si deseamos invocar al método this() dentro de un constructor de una clase... Esa llamada tiene que ser obligatoriamente la última sentencia del constructor Esa llamada no puede tener ningún parámetro Esa llamada tiene que ser obligatoriamente la primera sentencia del constructor No es posible hacer esa llamada. No tiene sentido.
¿Qué devuelve un constructor? void Una declaración a una referencia del mismo tipo de la clase, que además queda inicializada a null El objeto que crea, que será del tipo de la clase del constructor, aunque lo hace de forma implícita, ya que de forma explícita no hay que indicar que devuelva nada, ni siquiera void Una referencia a objetos de la clase inicializada como null.
La sobrecarga de métodos permite declarar en una misma clase varios métodos que tengan el mismo nombre. Verdadero Falso.
La sentencia package debe ser incluida en cada archivo fuente de cada clase que quieras incluir ese paquete. Verdadero Falso.
¿Cuál de los siguientes modificadores daría lugar a una clase no instanciable? public private inherited extended abstract.
Los modificadores que se pueden indicar en la declaración de una clase normal (que no sea ni interna ni anidada) son: public, protected o abstract. Verdadero Falso.
Creamos un objeto utilizando el operador new y lo destruimos mediante el operador destroyer. Verdero Falso.
Tenemos un objeto moto, de marca Bultaco, que se puede arrancar o apagar, que tiene una potencia de 250 CV y ha costado 1000 euros. La moto se encuentra en este momento apagada. A partir de esta información, ¿sabrías decir qué atributos y qué acciones (comportamiento) podríamos relacionar con ese objeto moto? Objeto moto con atributos potencia (250 CV), precio (1000 euros), marca (Bultaco) y estado (apagada). Las acciones que se podrían ejercer sobre el objeto serían arrancar y apagar Objeto moto con atributos precio (1000 euros), marca (Bultaco) y apagado. Las acciones que se podrían ejercer sobre el objeto serían arrancar y apagar Objeto moto con atributos precio (1000 euros), marca (Bultaco), potencia (250 CV) y estado (apagada). No se puede ejercer ninguna acción sobre el objeto. Se trata de un objeto moto cuyas posibles acciones son arrancar, apagar y hacer caballitos. Sus atributos serían los mismos que en el primer caso: potencia (250 CVs), precio (1000 euros), marca (Bultaco) y estado (apagada).
¿Cuál de los siguientes elementos permite la herencia múltiple en Java? Clases Interfaces Ambos Ninguno de ellos.
Dada la siguiente clase B: public class B{ protected int att1=10; int att2=20; private int att3=30; public int att4=40; } Y la siguiente clase A: public class A extends B { private int att1; private int att2; private int att3; private int att4; public A() { att1=super.att1+1; att2=super.att2+1; att3=super.att1+super.att2+super.att4+1; att4=super.att4+1; } } Si ambas clases están en paquetes diferentes, ¿qué fallaría? El atributo att2 no puede ser accedido desde fuera del paquete al que pertenezca la clase B Para acceder a los atributos de la clase padre hay que usar parent Los atributos protected no pueden accederse desde una clase hija si están en paquetes diferentes Los atributos de la clase A que se llamen igual que en la clase B tienen que tener la misma visibilidad No fallaría nada, todo es correcto.
Dada una clase Trabajador que contiene en su interior un objeto de la clase String para almacenar su nombre, y otros atributos más, en este caso hablamos de una relación de... Composición Herencia Abstracción Herencia múltiple.
Supongamos que disponemos de las clases Rana, que hereda de Anfibio; Leon, que hereda de Felino y Gacela, que hereda Bovido. Así mismo, también disponemos de las interfaces Depredador, implementada por Rana y Leon; y de Presa, implementada por Gacela y Rana. Indicar cuál es la afirmación correcta Las clases Rana y Gacela comparten al menos un método Las clases Rana y Leon no comparten ningún método Las clases Gacela y Leon comparten al menos un método Las clases Felino y Anfibio comparten al menos un método.
En Programación Orientada a Objetos, ¿con qué nombre es conocido el mecanismo que permite crear clases basadas en otras existentes? Polimorfismo Derivación Herencia Encapsulación.
Encapsulación Con las interfaces Con la herencia múltiple Con la herencia simple Con la composición de clases.
¿Cómo podrías acceder a un método de la superclase desde una determinada clase? Mediante el método this() Mediante el método super() Mediante la referencia super Mediante la referencia this.
Dado el siguiente código, indica cuál es el fallo: public class A { public inner class B { } B b=new B(); } No hay que poner inner para indicar que la clase B es interna. No se puede escribir new B() si no es dentro de un constructor o dentro de un método Para instanciar la clase B hay que poner new A.B() obligatoriamente, puesto que B es una clase interna Para declarar una clase interna hay que poner siempre static en lugar de inner.
Dado el siguiente código, ¿cuál sería el fallo? class B { public int b1=0; int b2=1; protected int b3=2; private int b4=5; } class A extends B { private int a1=4; public int b4=2; public int sumar () { return b1+b2+b3+b4+a1; } } No hay ningún fallo No se puede realizar la suma porque b4 es privada en la clase B No se puede realizar la suma porque b4 está en la clase B y en la clase A No se puede realizar la suma porque b3 es protected.
Dado el siguiente código, ¿cuál sería el valor de la variable instanciasCreadasDeB después de ejecutar el método prueba y nada más? public class A { private int instanciasCreadasDeB=0; public void prueba() { B b1=new B(); B b2=new B(); } public class B { public B() { instanciasCreadasDeB++; } } } El código se ejecutará sin problemas y su valor será 2. La clase B no puede usar el atributo instanciasCreadasDeB porque está en clase A La clase B no puede usar el atributo instanciasCreadasDeB porque no es estático Para la instancia b1 el atributo valdrá 1, y para la instancia b2 el atributo valdrá 2.
La herencia múltiple de interfaces no está permitida en Java Verdadero Falso.
En Java, el operador instanceof nos sirve para: Conocer el número de atributos de una clase. Indicar si un método es privado o público Saber si un objeto es de una clase determinada Ese operador no existe en Java.
¿Cómo se indica en Java que una clase hereda de otra? Mediante la palabra reservada inherits Mediante la palabra reservada extends Mediante el operador dos puntos ( : ) Mediante la palabra reservada base.
¿Cuál de las siguientes afirmaciones es correcta? Una interface puede contener varias declaraciones de métodos (sin implementar) y una clase abstracta no Una clase abstracta puede incluir implementaciones de métodos y una interface no Una clase puede heredar el comportamiento de dos clases abstractas disjuntas (que no heredan una de la otra). Una clase no puede implementar más de dos interfaces.
En Java no está permitida la herencia múltiple de clases. Verdadero Falso.
Dadas las clases: Personaje, Persona y Pitufo. Nos encontramos con un objeto "Papá pitufo" que es una instancia de Pitufo. También tenemos una instancia "Gárgamel" de la clase Persona. Y sabemos que tanto Persona como Pitufo derivan de Personaje. ¿Qué tipo de relación de las que hemos visto en el tema, hay entre las clases? Herencia, pues tanto Persona como Pitufo heredan de Persona. Composición Herencia múltiple, pues hay varias clases que heredan de la clase padre Enemistad, pues los pitufos se llevan fatal con Gárgamel.
Dado el siguiente fragmento de código: public Alumno (String nombre, String apellidos, LocalDate fechaNacimiento, String grupo, double notaMedia) { super (nombre, apellidos, fechaNacimiento); this.grupo= grupo; this.notaMedia= notaMedia; } Indicar qué afiirmaciones son correctas. Se trata de un método abstracto Se realiza una llamada al constructor de la clase hija a través de la referencia super() Se está llevando a cabo una "especialización" del método constructor de la clase padre, aprovechando todo lo que hace éste y añadiéndole funcionalidad específica Contiene una llamada recursiva al método this() del constructor de la clase padre.
Si una clase tiene algún método abstracto, es obligatorio que la clase sea abstracta. En las subclases que hereden de esta clase, esos métodos tendrán que ser completamente definidos o bien habrá que declarar esas subclases también como abstractas Verdadero Falso.
¿Cuál es la forma más apropiada de implementar un método declarado en una interfaz? Dentro de las clases que no implementen esa interfaz Dentro de la definición de la propia interfaz Los métodos declarados en una interfaz no son implementados nunca Dentro de las clases que implementen esa interfaz.
¿Cuál de las siguientes afirmaciones sobre documentos XMLDOM es falsa? Tienen un único elemento raíz Los atributos pueden estar dentro de comentarios (clase Comment) y dentro de elementos (clase Element). Puede haber elementos (clase Element) dentro de otros elementos. Un documento XMLDOM es una estructura jerárquica donde todos los elementos extienden la clase Node.
Los flujos basados en bytes son los óptimos para el manejo de entradas y salidas de bytes Verdadero Falso.
bufferedWriter permite operar con un flujo de datos como un buffer, pero si se envuelve en un PrintWriter, es posible escribir con muchas más funcionalidades adicionales para diferentes tipos de datos. Verdadero Falso.
Empleamos FileWriter para flujos de caracteres, pues para datos binarios se utiliza FileOutputStream. Verdadero Falso.
Señala la opción incorrecta. La E/S de los ficheros que implementa la clase…: stdin stdout stdwii stderr.
FileOutputStream permite leer bytes de un fichero o descriptor. Verdadero Falso.
Para leer valores numéricos, la idea es tomar el valor de la entrada estándar en forma de cadena y emplear métodos para convertir el texto a números Verdadero Falso.
Para averiguar si un elemento es un directorio usamos el método... mkdirs() mkdir() isDirectory() isFolder().
StringWriter: es un stream de caracteres cuya salida es un buffer de cadena de caracteres, que puede utilizarse para construir un String Verdadero Falso.
Las computadoras utilizan la memoria RAM para guardar los datos de manera persistente Verdadero Falso.
Las operaciones de E/S en Java vienen proporcionadas por el paquete estándar del API de Java denominado java.util.io Verdadero Falso.
Mediante las clases que proporcionan buffers se pretende que se hagan lecturas y escrituras físicas a disco, lo menos posible Verdadero Falso.
Marca las opción que NO sea cierta, referida a la estructura de un documentoXML. Un documento XML está compuesto desde el punto de vista de programación por nodos, que pueden (o no) contener otros nodos. Todo es un nodo. Un atributo es un nodo especial llamado atributo (Attr desde el punto de vista de programación), que solo puede estar dentro de un elemento (concretamente dentro de la etiqueta de apertura). Un documento (Document) es un nodo que contiene una jerarquía de nodos en su interior. Está formado opcionalmente por una declaración, opcionalmente por uno o varios comentarios y obligatoriamente por uno o varios elementos. Un comentario es un nodo especial llamado comentario (Comment), que puede estar en cualquier lugar del documento XML.
Float.parseFloat(String) Convierte una cadena en un número entero de un byte Convierte una cadena en un número entero largo Convierte una cadena en un fichero Convierte una cadena en un número real simple.
Un stream nunca puede ser envuelto por otro stream Verdadero Falso.
Las clases y métodos de E/S son las mismas independientemente del dispositivo con el que se quiera tratar Verdadero Falso.
BufferedOutputStream implementa los métodos para escribir en un stream a través de un buffer. Verdadero Falso.
La clase File permite manipular archivos y directorios, en las plataformas Linux y Windows. Para Mac OS empleamos MacFile. Verdadero Falso.
A un flujo FileInputStream, se puede añadir un buffer, de modo que se mejore la eficiencia de los accesos a los dispositivos en los que se almacena el fichero con el que conecta el flujo. Verdadero Falso.
Todas las clases genéricas que implementan la interfaz Set admiten duplicados. Verdadero Falso.
¿Cuál de los siguiente métodos no se utiliza para recorrer y gestionar una colección? hasNext() next() remove() isNext().
Las colecciones en Java definen un conjunto de interfaces, clases genéricas y algoritmos que permiten manejar grupos de objetos, todo ello enfocado a potenciar la reusabilidad del software y facilitar las tareas de programación, pero ¿cuál es la interfaz inicial a partir de la que se construyen todas las colecciones? java.util.Collection java.util.Collections java.collections.Collection java.util.Set.
¿Cuáles de las siguientes colecciones no permiten duplicados? TreeSet HashSet ArrayList LinkedList.
Las implementaciones más usadas para representar los conjuntos en Java son las siguientes: HashMap, TreeMap y LinkedHashMap. ¿Verdadero o falso? Verdadero Falso.
Marca las respuestas que sean correctas. Java dispone de tres clases que implementan la interfaz java.util.Set, que define cómo debe ser un conjunto, y que extiende a la interfaz Collection, aunque de una forma extraña, ya que no añade ningún método más a los que ya declaraba dicha interfaz para declarar qué operaciones se podrán realizar sobre conjuntos Java dispone de tres clases que implementan la interfaz java.util.Set, que define cómo debe ser un conjunto, y que extiende a la interfaz Collections, a la que añade algunos métodos más para declarar qué operaciones se podrán realizar sobre conjuntos Java dispone de tres clases que implementan la interfaz java.util.Set, que son ArrayList, HashMap y TreeSet Java dispone de tres clases que implementan la interfaz java.util.Set, que son HashSet, LinkedHashSet y TreeSet.
La clase ArrayList implementa las interfaces java.util.Queue y java.util.Deque. Verdadero Falso.
En Java existe la interfaz java.util.HashMap que define los métodos que deben tener los mapas. ¿Verdadero o falso? Verdadero Falso.
El método que permite convertir un array a una lista de elementos es: toArray asList() shuffle() toList().
A la hora de invocar a un método genérico siempre es necesario indicar el tipo de los parámetros genéricos, ya que Java no es capaz de determinar el tipo a partir de los valores recibidos en los parámetros. Verdadero Falso.
El método que permite convertir una lista a array es: toArray() asList() shuffle() toList().
Si una clase genérica define un parámetro genérico, los métodos que contengan no podrán usar parámetros genéricos propios diferentes al definido por la clase, ya que no es posible mezclar en el método parámetros genéricos definidos por la clase con parámetros genéricos definidos por el método. Verdadero Falso.
Las clases y los métodos genéricos tienen como objetivo: Proporcionar una traducción a Java de las plantillas (templates) de otros lenguajes como C++, de forma que podamos incrustar código escrito en C++ directamente en nuestra aplicación Java. Dificultar la reutilización del software, creando métodos y clases que puedan trabajar con diferentes tipos de objetos. Definir soluciones generales a problemas particulares, mediante las conversiones implícitas de tipos Evitar las conversiones explícitas de tipos para métodos que deben trabajar con distintos tipos de datos.
La capacidad de las estructuras denominadas dinámicas... Es infinita. e establece en el momento de la creación Crece conforme insertamos nuevos elementos Depende de los elementos que se inserten.
En las colas el último en llegar es el primero en ser atendido mientras que en las pilas sucede precisamente lo contrario. Verdadero Falso.
Elige la opción adecuada para completar la frase. Para indicar que un método es genérico hay que incluir la expresión _____ justo delante del tipo devuelto por el método. generic general <T> <Generic>.
Los iteradores son también clases genéricas. ¿Verdadero o falso? Verdadero Falso.
En las pilas el último en llegar es el primero en ser atendido mientras que en las colas sucede precisamente lo contrario. Verdadero Falso.
Marca la opción que sea cierta Un método genérico sólo puede tener un único parámetro genérico. Si fueran necesarios varios, habría que unificarlos previamente en un único parámetro genérico que los englobara a todos. Una clase genérica puede tener varios parámetros genéricos, que se indican separándolos por comas A la hora de invocar a un método o a una clase que se ha declarado con más de un parámetro genérico, hay que optar por uno de ellos, e indicar expresamente cuál se va a usar en la invocación Un método genérico NO puede tener varios argumentos genéricos, sólo tenemos que escribirlos separados por comas en el mismo lugar que se indicaría en el caso de tener un único parámetro genérico.
¿Cuál de las siguientes formas sería la mejor para definir una lista de enteros? LinkedHashSet <Integer>t=new LinkedHashSet <Integer>(); LinkedList <Integer> t; t=new LinkedList <Integer>(); LinkedList t; t=new LinkedList(); LinkedHashSet t=new LinkedHashSet();.
HashSet, TreeSet y LinkedHashSet son algunas de las implementaciones que proporciona Java para representar los mapas o arrays asociativos. ¿Verdadero o falso? Verdadero Falso.
Si una clase genérica necesita usar como parámetro genérico un tipo primitivo, tendrá que hacerlo a través de su clase envoltorio, como por ejemplo, Float, Double, etc. Verdadero Falso.
¿Cuándo conviene usar una lista enlazada (LinkedList) en lugar de una lista basada en arrays redimensionables (ArrayList)? Cuando las operaciones a realizar mayoritariamente sean inserciones de elementos y consultas, con ninguna o muy pocas eliminaciones de elementos de la lista Cuando necesitemos que los elementos de la lista estén ordenados por valor, siguiendo algún criterio distinto al orden de inserción Cuando necesitemos hacer muchas eliminaciones de elementos de la lista. Cuando no necesitemos que la lista esté ordenada por valor, de forma que el orden de inserción nos resulte adecuado.
Los genéricos permiten realizar clases y métodos que pueden trabajar con cualquier tipo de dato: int, String, long, etcétera. Para crearlas hay que definir en la clase genérica un parámetro formal de tipo "<T>" justo después del nombre de la clase. Verdadero Falso.
¿Cuándo conviene usar una lista basada en arrays redimensionables (ArrayList) en lugar de una lista enlazada (LinkedList)? Cuando las operaciones a realizar mayoritariamente sean inserciones de elementos y consultas, con ninguna o muy pocas eliminaciones de elementos de la lista Cuando necesitemos que los elementos de la lista estén ordenados por valor, siguiendo algún criterio distinto al orden de inserción. Cuando necesitemos hacer muchas eliminaciones de elementos de la lista. Cuando no necesitemos que la lista esté ordenada por valor, de forma que el orden de inserción nos resulte adecuado.
¿Es posible usar el operador diamante <> (corchetes angulares vacíos) para simplificar la instanciación de nuevos objetos a partir de clases genéricas? No, nunca Sí, siempre Sí, pero sólo a partir de la versión 7 del lenguaje (Java 7). Era posible en versiones anteriores de Java, aunque sorprendentemente se suprimió a partir de la versión 7 del lenguaje (Java 7).
La estructura de control tipo for-each es ideal para procesar todos los elementos de un conjunto. Verdadero Falso.
Supongamos que Ejemplo es una clase genérica construida sobre objetos de tipo A. ¿Qué ocurre si en la declaración de un método genérico pongo lo siguiente?: int miMetodo(Ejemplo<? extends MiClase> ejemplo) {...} Estamos indicando que el parámetro ejemplo de la clase genérica Ejemplo podrá estar construido sobre cualquier clase Estamos indicando que miMetodo() redefine o sobrescribe al método genérico del mismo nombre de la clase genérica Miclase, la cual definía el argumento genérico ejemplo de tipo genérico Ejemplo Obtendríamos un error de compilación, ya que dicha expresión es incorrecta debido a que no se puede mezclar el comodín ? con la palabra extends en la declaración de métodos genéricos Estamos indicando que miMetodo() recibe como argumento un objeto ejemplo de una clase genérica Ejemplo construida sobre objetos de cualquier subclase de MiClase.
¿Cómo puedo ordenar una colección en Java? Creando una clase "comparadora" que implemente la interfaz Comparable, lo que supone implementar el método compare() de forma que defina cómo se ordenan los elementos de la clase base de la colección, e invocando posteriormente al método sort() de la clase Collections pasándole como primer parámetro la lista o colección a ordenar y como segundo argumento un objeto instanciado de la clase comparadora antes creada (es decir, un comparador). Haciendo que la clase base de la colección implemente la interfaz Comparator, lo que obliga a implementar el método compareTo() que hace que todos los objetos de la clase base sean ordenables, e invocando posteriormenete al método sort() de la clase Collections pasándole como único parámetro la lista o colección a ordenar. Haciendo una clase "comparadora" que implemente la interfaz Comparatore, lo que supone implementar el método compare() de forma que defina cómo se ordenan los elementos de la clase base de la colección, e invocando posteriormente al método sort() de la clase Collections, pasándole como primer parámetro la lista o colección a ordenar y como segundo argumento un objeto instanciado de la clase comparadora antes creada (es decir, un comparador) Haciendo que la clase base de la colección implemente la interfaz Comparable, lo que obliga a implementar el método compareTo() que hace que todos los objetos de la clase base sean ordenables, e invocando posteriormente al método sort() de la clase Collections pasándole como único parámetro la lista o colección a ordenar.
En JavaFX existe un nodo especial: Se denomina root node Se conoce como nodo raíz/padre De este nodo heredan todos los demás nodos, y es el único que no tiene un nodo padre Todas las afirmaciones son correctas.
Un ejemplos de fuente de eventos es: Botón sobre el que se pulsa o pincha con el ratón Campo de texto que pierde el foco Campo de texto sobre el que se presiona una tecla Todas son correctas.
Un control de entrada de texto que permite al usuario introducir una sola línea de texto plano es un: GridPane TextField Button Ninguna de las listadas.
Para especificar las acciones a tomar si se pincha en una de las opciones de un menú no podemos emplear la notación lambda. Verdadero Falso.
El layout que organiza sus nodos de contenido verticalmente en una sola columna es: StackPane VerticalCol HBox VBox.
Podríamos resumir los pasos para manejar eventos en JavaFX en tres y en el orden: Crear una fuente de evento, crear un manejador de evento y registrar el manejador de evento en la fuente del evento Crear crear un manejador de evento, crear un botón y registrar el manejador de evento en la fuente del evento. Registrar un manejador de evento en una fuente del evento, crear una fuente de evento y por último crear un manejador de evento odas las demás afirmaciones son correctas.
El look and feel de una aplicación es el aspecto de un sitio para el usuario y la experiencia de uso cuando se interactúa con él. Verdadero Falso.
Cuando se crea un Button, se crea por defecto en el modo: Normal Por defecto cancelar Escape.
El panel que coloca sus nodos de contenido en celdas de tamaño uniforme es: StackPane FlowPane TilePane HBox.
Una regla de estilo se compone de: Dos partes Tres partes Cuatro partes Cinco partes.
Podemos afirmar que el conjunto de menús e iconos que representan las opciones que el usuario puede tomar dentro de una aplicación es: La interfaz El hardware de la aplicación La consola del programa El JRE de la aplicación.
En la clase Button, para definir lo que ocurrirá cuando el usuario haga click en el botón se emplea el método: DragEvent setOnAction PushButton setOnPressEvent.
Para agrupar los radiobotones en un control de modo que solo uno pueda ser seleccionado a la vez, usamos un control: MenuButton GroupButton ToggleGroup TextField.
Los componentes de diseño de JavaFX son ejemplos típicos de subclases de : Shape Parent Shape3D Todas las respuestas son correctas.
El destino de evento es: El objeto en el cual ocurrió el evento inicialmente. El objeto que implementa el interface EventHandler El nodo al que se dirige el evento. Normalmente será el botón u otro control sobre el que el usuario hizo click o manipuló El objeto Object.
Hablamos de modo consola: A jugar a la videoconsola. Al dar las órdenes al ordenador con comandos por teclado, sin necesidad de ratón. Al sitio donde apoyamos el ordenador o el teclado. Al modo de programar con interfaces gráficas.
Un evento de entrada que indica que se ha producido una pulsación de tecla en un nodo es un: Tecla Event Mouse Event Drag Event Key Event.
Un fichero FXML tiene formato: odt de texto pdf doc.
Dado el código: Button button = new Button("Copiar"); // Aplicarle el estilo button.setStyle("-fx-background-color: #0000ff"); la hoja de estilo que se aplica es: Específico en componente Especifica del padre Especifica de la escena Por defecto.
El paquete com.db4o de la BDOO Db4object incluye: La interfaz ObjectSet. La interfaz ObjectContainer Clases para configurar la base de objetos Clases para realizar consultas nativas.
En una BDOO, una relación uno a muchos del modelo relacional se representa mediante una colección. Verdadero Falso.
Respecto al conector de la base de datos SQL: Consiste en un fichero .tar Permite la comunicación entre el APIJDBC y el SGBD Permite interactuar con el sistema gestor de la base de datos Todas las respuestas anteriores son correctas.
La programación de bases de datos ha estado siempre unificada, debido al escaso número de de productos de bases de datos en el mercado. Verdadero Falso.
¿Cuáles de los siguientes términos corresponden con sistemas capaces de almacenar objetos? SGBDOO SGBO SGBDOR SGBDR.
Señala las afirmaciones falsas, acerca de MySQL: Es una base de datos gratuita Es una base de datos que sólo funciona en Windows Funciona siempre más rápidamente en Windows que en Linux No necesita driver para trabajar con ella en Java.
Para consultas preparadas utilizamos: Statement PreparedStatement CallableStatement ReadyConsults.
En los sistemas gestores de bases de datos objeto-relacionales no se trabaja con el concepto de clase, sino con el concepto de tipo de dato objeto. Verdadero Falso.
El código siguiente: Connection con = DriverManager.getConnection ( "jdbc:odbc:miBD", "miLogin", "miPassword"); Ejecuta una consulta. Procesa los resultados de una consulta Establece una conexión Todas laas respuestas anteriores son correctas.
El método getMessage(): Devuelve el ID del objeto error SQL. Devuelve un número entero que representa el código de error asociado. Devuelve el mensaje de error asociado a la excepción que se ha producido Todas las respuestas anteriores son correctas.
El estándar ODMG propone, además del OQL, lenguajes de manipulación y de definición de objetos Verdadero Falso.
Una ventaja de las BDOO es: La transparencia La extensibilidad La reutilización de código Todas son correctas.
Un driver contiene una implementación de todas las interfaces del API JDBC Verdadero Falso.
Cuando se trabaja con db4o en modo embebido: Solo se puede utilizar en la base de objetos una conexión Se permiten varias conexiones simultáneas Es porque la conexión se ha realizado vía JDBC Se pueden realizar consultas OQL.
¿Cuál de los siguientes valores podría ser un resultado de la sentencia "SELECT i FROM t1 WHERE i*2<=3" si la tabla de objetos o la clase t1, en el atributo i, solo contiene los números de 1 al 10? 1 2 3 0.
Para obtener un entero almacenado en uno de los campos de un registro, trabajando con el ResulSet emplearemos el método: getString() getInt() getDate() getRegis().
Las conexiones a una base de datos no consumen recursos del sistema. Verdadero Falso.
Cuando un objeto estructurado es persistido en una base de objetos pura, también se almacenan los objetos hijo. Verdadero Falso.
Para usar JDBC, el programador debe conocer los detalles específicos, al más bajo nivel posible, de cada base de datos. Verdadero Falso.
Un ResultSet: Va obteniendo los datos de la base de datos según se van pidiendo No contiene todos los datos de la consulta en el mismo momento de hacer la consulta SELECT iene el inconveniente de que no posee métodos que permitan movernos hacia delante y hacia atrás en las filas, para obtener la información de cada fila. Todas las respuestas anteriores son correctas.
Denunciar test Consentimiento Condiciones de uso