Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - nosferacento

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23
381
PREGUNTA: ¿Puede una clase contar cuántas instancias han sido creadas de dicha clase?

RESPUESTA: Sí, bastaría con incluir una variable estática (de clase) que en el constructor se incrementara unitariamente cada vez que se crea una instancia de dicha clase.

382
PREGUNTA: ¿Cuál es el tipo de retorno para los métodos add (E e) de las interfaces Set y List?


RESPUESTA: Podríamos pensar que el tipo es void, porque es una operación en la que usualmente no esperamos un retorno. Sin embargo, el tipo de retorno es boolean, y nos sirve para comprobar si la inserción efectivamente se hizo o no se hizo en el caso de que queramos hacerlo. Por ejemplo, el retorno será false si intentamos insertar un elemento duplicado en un set.

383
PREGUNTA: Si una variable calificada como final referencia a un objeto, ¿es posible modificar el objeto al que apunta dicha variable mientras el programa se está ejecutando?



RESPUESTA: No, no es posible. Al estar declarado como constante no es posible modificación alguna.

384
PREGUNTA: Si la clase Y es una subclase de la clase X. ¿Cuál de los siguientes códigos no compilará?

a. X objeto=new X();
b. Y objeto=new X();
c. Y objeto= new Y();
d. X objeto=new Y();


RESPUESTA: La opción a compila sin problemas. La opción c también.  X objeto = new Y (); compila puesto que las superclases son polimórficas y admiten tipos de las subclases. Un vehículo puede crearse definiéndolo como un coche.
No compilará la opción b: un coche no puede crearse definiéndolo como un vehículo.  ;)

385
PREGUNTA: ¿Qué es una excepción?


RESPUESTA: Una excepción es un objeto que contiene información relativa a los detalles de un error en la ejecución de un programa.

386
PREGUNTA: ¿Cuáles son los tres tipos estándar de diálogos que posee la clase de Swing JOptionPane?

RESPUESTA: Diálogo de mensaje, diálogo de entrada y diálogo de confirmación. Así de breve  :o

387
Si se quiere una crítica negativa se puede decir alguna, por ejemplo que las plantillas generadas llevan incorporada una marca de agua o copyright que puede ser un poco molesto a la vista... Aunque con un poco de hacking  :o problema resuelto  ;D

388
PREGUNTA: ¿Cuál es el resultado de n%6 para cualquier entero?

RESPUESTA: % es el operador mod, o resto de una división. 0%6 =6; 1%6=5; 2%6=4; 3%6=3; 4%6=2; 5%6=1; 6%6 =0; 7%6 = 1 y seguimos igual con 2, 3, 4…Tenemos enteros de 0 a 6, pero ¿qué ocurre con los números negativos? -1%6 =-1; -2%6= -2 …hasta -6%6=0. Por tanto el resultado de n%6 para cualquier entero es -5, -4, -3, -2, -1, 0, 1, 2, 3, 4 ó 5.

389
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

public class Probando {
    boolean prueba = false;   
    public Probando() { System.out.println (prueba);}
    public static void main (String[] Args) {
        Probando p = new Probando ();   
        System.out.println (!prueba);
    } 
}



RESPUESTA: Error de compilación: una variable no estática no puede ser utilizada en un contexto estático.  Un método estático solo podrá trabajar con atributos estáticos, ya que un método de clase se invoca bajo el nombre de la clase, no bajo el nombre de un objeto. No tendría sentido manipular directamente atributos de objeto dentro de un método estático. En el contexto estático sí podremos crear y manipular objetos a través de los métodos propios de dichos objetos.


390
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

public class Probando {
    boolean prueba = false;   

    public Probando() {trocar(prueba);
        System.out.println (prueba);}

    public static void main (String[] Args) {
        Probando p = new Probando ();   
    }

    public boolean trocar (boolean v) {
        prueba = !prueba;
        return prueba;
    }
}



RESPUESTA: Se muestra por pantalla true. Razonamiento: al crear un objeto se invoca el constructor. En el método se manipula la variable prueba directamente, no el parámetro que realmente no tiene funcionalidad tal y como está definido. 

391
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

public class Probando {
    boolean prueba = false;   

    public Probando() {trocar(prueba);
        System.out.println (prueba);}

    public static void main (String[] Args) {
        Probando p = new Probando ();   
    }

    public boolean trocar (boolean v) {
        v = !v;
        return v;
    }
}


RESPUESTA: Se muestra por pantalla false. Razonamiento: al crear un objeto se invoca el constructor. La ejecución del método devuelve true, pero esto no tiene efectos sobre la variable porque la variable se pasa por valor. 

392
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

public class Preg3Pass {
    static int j=20;
    public static void main (String[] Args) {
        int i=10;
        Preg3Pass p = new Preg3Pass();
        p.ametodo(i);
        System.out.println(i);
        System.out.println(j);
    }

    public void ametodo (int x) {
        x=x*2;
        j=j*2;
    }
}



RESPUESTA: Se muestra por pantalla 10 y 40. Razonamiento: la variable j es una variable de clase pero una variable: no es una constante porque para serlo debería llevar la palabra clave final. Por tanto es conocida en toda la clase (constructor y métodos).  En el main la variable i se pasa como parámetro al método por valor (una copia) con lo cual la modificación del parámetro no es conocida fuera del método. Sin embargo, la modificación de una variable de clase sí es conocida si se realiza la manipulación directamente.

393
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

   int i=1;
   int j=2;
   if(i==1 || j==2)
   System.out.println ("OK");



RESPUESTA: Se muestra por pantalla OK. La ausencia de llaves en el if se admite, ejecutándose como consecuencia la primera instrucción a continuación del if.

394
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

int i=0;
        if (i) {
            System.out.println ("Hello");
        }



RESPUESTA: Error de compilación: en el if se espera un tipo boolean y se encuentra un tipo int. Tampoco sería válido i || i por el mismo motivo. Sí sería válido i ==i (imprimiría Hello) ó i!=i (no imprimiría nada por pantalla).

395
Aquí sigue el rayo que no cesa del Java, también llamado el tío de la vara del Java o el cansino histórico del Java, ofreciendo suculentas preguntas y respuestas.

PREGUNTA: Dado el siguiente código, indicar si el método public int setVar (float a, int b, int c) {return b;} constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: Sí, sería una sobrecarga válida desde el momento en que coincide el nombre pero los tipos de los parámetros son distintos. No sería válida si los tipos fueran coincidentes.

396
PREGUNTA: Dado el siguiente código, indicar si el método protected void setVar (int flin, int flan, float flon) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: No, este método no sería una sobrecarga válida desde el momento en que coinciden los tipos de los parámetros y el nombre del método. Que el nombre de los parámetros no coincida es irrelevante, ya que esto no permite diferenciar un método de otro a la hora de invocarlo.

397
Eres un crack carlinho. Continuamos con el hilo cortocircuitador.

PREGUNTA: Dado el siguiente código, indicar si el método protected void setVar (int a, int b, float c) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: No, este método no sería una sobrecarga válida desde el momento en que coincide el nombre y los tipos de los parámetros.


398
PREGUNTA: Dado el siguiente código, indicar si el método private void setVar (int a, float c, int b) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: Sí, este método sería una sobrecarga válida desde el momento en que los tipos de los parámetros no coinciden con los tipos del método ya escrito. En concreto en el ya escrito tenemos int, int, float y en el nuevo tenemos int, float, int. Sobrecargar implica que constituyan métodos distintos, y esto se produce. Sobreescribir sería otra cosa: que coincidan el nombre del método, de los parámetros y el tipo de los parámetros.

399
Por si no ha quedado claro: los parámetros en Java se pasan por valor. Lo que pasa es que en java al tratarse de programación orientada a objetos sacar conclusiones de esta afirmación no es igual de fácil que en otros lenguajes. Este es uno de los motivos por los que se dice que la programación orientada a objetos es un poco más complicada.

400
PREGUNTA: ¿Qué resultado se obtiene al ejecutar este código Java?

public class test {
    public static void add3 (Integer i) {
        int val = i.intValue();
        val += 3;
        i = new Integer (val);
    }

    public static void main (String args[]) {
        Integer i = new Integer (0);
        add3 (i);
        System.out.println (i.intValue ( ) );
    }
}



RESPUESTA:

Esta pregunta tiene su interés, ya que en el fondo está la forma en que se pasan los parámetros a los métodos y constructores: ¿por valor o por variable? Por pantalla se imprime un 0. i = new Integer (val) es una modificación de la referencia a objeto que es la variable. Como la referencia a objeto se pasa por valor (una copia), esta modificación no es conocida luego en el main. Resultado, se imprime un cero.

Páginas: 1 ... 15 16 17 18 19 [20] 21 22 23

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".