• Sábado 21 de Septiembre de 2024, 21:58

Autor Tema:  Examen Java  (Leído 3510 veces)

roberto_batet

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Examen Java
« en: Viernes 3 de Noviembre de 2006, 16:29 »
0
Hola. Les cuento que tuve el segundo examen de Java y me falto un punto para aprobar. Me quedaron dudas de cuales fueron  mis errores asi que les dejo unas dudas q tengo a ver si me pueden ayudar para recuperar.
-----------------------------------------------------------------------------------------------
1-  Cuál de las siguientes afirmaciones acerca de las variables estáticas (static) es correcta?
 Una vez que se les asigna un valor este no puede cambiar.
 Las variables estáticas son también llamadas variables de clase
 Sólo variables de tipos primitivos pueden ser definidas como estáticas

-----------------------------------------------------------------------------------------------


2-  Cuál de las siguientes afirmaciones es falsa acerca de las variables estáticas de una clase Java?
 Son compartidas por todas las instancias de esta clase
 Una variable estática puede tener un valor distinto para cada instancia de la clase
 Cada instancia de esta clase, puede implementarlos a su manera
 Pueden ser accedidas sin necesidad de instanciar un objeto de la clase

------------------------------------------------------------------------------------------------
       

 3- A un programador le pidieron que implemente un programa, que contenga una variable llamada mes (de tipo int) y que según el valor que tenga esta variable, imprima el nombre del mes que corresponde. Es decir: Si mes vale 1, debe imprimir Enero, Si mes vale 2, debe imprimir Febrero, y así sucesivamente. Si en cambio mes toma un valor que no está entre 1 y 12, debería imprimir un mensaje de error. Este es el programa que implementó:

public class Meses {
        public static void main(String[] args) {
            int mes = 8;
            switch (mes) {
            case 1:
                System.out.println("Enero");
            case 2:
                System.out.println("Febrero");
            case 3:
                System.out.println("Marzo");
            case 4:
                System.out.println("Abril");
            case 5:
                System.out.println("Mayo");
            case 6:
                System.out.println("Junio");
            case 7:
                System.out.println("Julio");
            case 8:
                System.out.println("Agosto");
            case 9:
                System.out.println("Septiembre");
            case 10:
                System.out.println("Octubre");
            case 11:
                System.out.println("Noviembre");
            case 12:
            System.out.println("Diciembre");
            default:
                System.out.println("No es un mes válido");
        }
    }
}

¿Funcionará este programa correctamente si lo vamos probando con distintos valores para la variable mes?
 
Si, El programa funcionará correctamente.

 No, Aún cuando imprima el nombre correcto del mes, el programa siempre imprime el mensaje de error, pues está puesto como caso default
 
No, Este programa compila sin errores pero funciona mal porque el programador olvidó los break
 
----------------------------------------------------------------------------------------------


4- Dadas las siguientes clases Fecha y TestAumentos

public class Fecha {
    public int dia;
    public int mes;
    public int año;
    public int getAño() {
        return año;
    }
    public void setAño(int año) {
        this.año = año;
    }
    public int getDia() {
        return dia;
    }
    public void setDia(int dia) {
        this.dia = dia;
    }
    public int getMes() {
        return mes;
    }
    public void setMes(int mes) {
        this.mes = mes;
    }
    public void display() {
        System.out.println("dia: "+dia+" mes: "+ mes +" año: " +año );
    }
}

public class TestAumentos {
    public static void aumentaDia(Fecha f) {
        f.dia++;
    }

    public static void aumentaValor(int i) {
        i++;
    }

    public static void main(String[] args) {
        Fecha miFecha = new Fecha();
        miFecha.setDia(10);
        miFecha.setMes(6);
        miFecha.setAño(2006);
        int x = 5;
        aumentaDia(miFecha);
        aumentaValor(x);

        System.out.println("miFecha:");
        miFecha.display();
        System.out.println("valor: ");
        System.out.println(x);

    }
}

Qué sucede al ejecutar la clase TestAumentos?
 Se imprime:
    miFecha:
    dia: 11 mes: 6 año: 2006
    valor:
    6
 Se imprime:
    miFecha:
    dia: 11 mes: 6 año: 2006
    valor:
    5
 Se imprime:
    miFecha:
    dia: 10 mes: 6 año: 2006
    valor:
    6
 Se imprime:
    miFecha:
    dia: 10 mes: 6 año: 2006
    valor:
    5
 
Eso es todo

Saludos.....................

antony_soluciones

  • Miembro MUY activo
  • ***
  • Mensajes: 222
    • Ver Perfil
Re: Examen Java
« Respuesta #1 en: Jueves 9 de Noviembre de 2006, 03:45 »
0
1 =  Las variables estáticas son también llamadas variables de clase
2 =  Una variable estática puede tener un valor distinto para cada instancia de la clase
3 = No, Este programa compila sin errores pero funciona mal porque el programador
       olvidó los break
4 = Define mejor esta pregunta que no esta muy clara...


Cuidate y gracias por publicar estas preguntas, si tienes mas, publicalas porfavor

Cordialmente,

Antony
[size=109]Antony Hernan Delgado Solano. @antonyDelSol en twitter[/size]

Misuvija

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Examen Java
« Respuesta #2 en: Viernes 10 de Noviembre de 2006, 18:22 »
0
Hola!

Fecha y TestAumentos  imprime:

miFecha:
dia: 11 mes: 6 año: 2006
valor:
5


De acuerdo con Antony! Cool si sigues poniendo preguntas...
Any