Autor Tema: Java tipos de datos de parámetro y de retorno de una función public, diferencia  (Leído 4570 veces)

alex1595

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Estas preguntas son las que me brindan en una práctica y quiero corroborar si están correctamente, si están equivocadas las respuestas por favor indicarme, se los agradecería.

1. Se tiene el siguiente método, el cual asumimos correcto para nuestro propósito:

Código: [Seleccionar]
public double convertirDolaresSoles(int dolares)
{
double soles;
soles = dolares * tipoDeCambio;
return soles;
}

Identifica los siguientes elementos: (6 puntos)
a.- Nombre de la función:Public
b.- Nombre del parámetro: dolares
c.- Tipo de dato que devuelve: return
d.- Tipo de dato del parámetro: int
e.- Nombre de la variable: soles
f.- Nombre de la constante: ConvertirDolaresSoles:

2. Dada la siguiente porción de código, en la cual se invoca al método implementado en la pregunta anterior, indica el tipo de dato que deben tener las variables aux1 y aux2.

public void ingresarDatos()
{
…………………
aux2 = convertirDolaresSoles(aux1);
…………………
}
aux1 = int
aux2 = double

3. Dados los siguientes métodos, indica cuál es el error en cada uno de ellos.

a)
Código: [Seleccionar]
public int calcularAreaCirculo(int radio)
{
double area;
area = 3.1416 * radio * radio;
return area;
}

#public int debe ser public double

b)
Código: [Seleccionar]
public char obtenerCategoria(String montoPension)
{
if (montoPension < 1000.0)
return 'A';
else
return 'B';
}

#String montoPension debe ser double montoPension

4. Se tiene el siguiente método, el cual asumimos correcto para nuestro propósito:
Código: [Seleccionar]
public void realizarProcesos()
{
String aux1;
double aux2;
aux1 = calcularSubTotal(0.18);
cerrarArchivos("Cerrando ....");
}

Define la firma (encabezado) para los 2 métodos que se invocan.
a)
b)


Estoy usando Java en el programa netbeans, porfa ayudenme :(
« Última modificación: 15 de Junio 2017, 14:27 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Hola,

Vamos a ver el ejercicio 1:

1. Se tiene el siguiente método, el cual asumimos correcto para nuestro propósito:

public double convertirDolaresSoles(int dolares)
{
double soles;
soles = dolares * tipoDeCambio;
return soles;
}

Identifica los siguientes elementos: (6 puntos)
a.- Nombre de la función:Public
b.- Nombre del parámetro: dolares
c.- Tipo de dato que devuelve: return
d.- Tipo de dato del parámetro: int
e.- Nombre de la variable: soles
f.- Nombre de la constante: ConvertirDolaresSoles:
Algunas respuestas están equivocadas.
a.- Nombre de la función:Public convertirDolaresSoles
b.- Nombre del parámetro: dolares
c.- Tipo de dato que devuelve: return double
d.- Tipo de dato del parámetro: int
e.- Nombre de la variable: soles
f.- Nombre de la constante: ConvertirDolaresSoles tipoDeCambio

La plabra public no es el nombre de la función. public es una palabra reservada y sirve para indicar la "visibilidad" que tendrá esta funcion.
Dicha función, llamada convertirDolaresSoles, está declarada dentro de una clase, que no se especifica como se llama, pero vamos a suponer que se llama Conversor

Pues public significa que dicha función será publica, es decir, que se podrá invocar a esta función fuera de su propia clase. Esto significa que yo en otra clase completamente diferente de esta, podré crear un objeto de la clase Conversor e invocar a este método.
Por ejemplo, imagina este código pertenece a otra clase distinta de la clase Conversor, dentro de la cual yo creo un objeto de la clase Conversor:

Código: [Seleccionar]
Conversor miConversor = new Conversor();///Creo un objeto de la clase Conversor
double dinero = miConversor.convertirDolaresSoles(500);//Invoco a la función que hace la conversión de moneda

Este código es válido si la función fue declarada como public.
En cambio, si la hubieramos declarado como private, y no public, entonces este código daría error.
Una función declarada como private hacemos que se reduzca su "visibilidad" y solo puede ser invocada dentro de su propia clase, pero no fuera. Otras clases no pueden ver esta función al ser private, no pueden utilizarla



La palabra return no es un tipo de dato, es una instrucción que da la orden de finalizar la función devolviendo el valor que se le indique a continuación.
El tipo de dato que devuelve esta función es el tipo double
Esto se identifica fácilmente viendo la "firma" de la función:

Código: [Seleccionar]
public double convertirDolaresSoles(int dolares)public ya hemos explicado lo que es.
La siguiente palabra, double, es la que indica el tipo de dato que OBLIGATORIAMENTE ha de devolver esta función. Es decir, no puede devolver un tipo de dato int, ni byte, no short, ni STring, ni char...... está obligado a devolver un valor double.
Por eso la función termina con esta instrucción:

Código: [Seleccionar]
return soles;soles es una variable de tipo double, por lo tanto es válida para ser devuelta como resultado de la función. Si no fuese de tipo double, no se podría devolver con la sentencia return

Sobre la constante.
Una constante es como una variable, pero que tendrá un valor fijo. Un valor que no va a ser alterado durante la ejecución del programa.
Identificar cual es la constante en ese código, puede no ser evidente en un principio, pero con un poquito de análisis es fácil suponer que la variable tipoDeCambio es la constante.
Las otras variables, dolares y soles... tendrán valores distintos cada vez que se ejecute el programa, porque cada vez convertiremos distintas cantidades de dinero.
Pero el tipo de cambio, es algo fijo, es un valor que no queremos que cambie bajo ningún concepto. Por eso es fácil suponer que en algún sitio del código de esta clase, esta variable estará definida como constante, al contrario que las otras.
« Última modificación: 15 de Junio 2017, 14:27 por Ogramar »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
El ejercicio 2 y 3 son correctos.

A ver el 4:
4. Se tiene el siguiente método, el cual asumimos correcto para nuestro propósito:
public void realizarProcesos()
{
String aux1;
double aux2;
aux1 = calcularSubTotal(0.18);
cerrarArchivos("Cerrando ....");
}
Define la firma (encabezado) para los 2 métodos que se invocan.
a)
b)

Esto has de intentarlo resolverlo tú.
Lo primero es identificar cuáles son los 2 métodos invocados:
a) calcularSubTotal()
b) cerrarArchivos()


Una vez identificados, para adivinar cuál sería su firma o encabezados, has de fijarte en:
  • qué tipo de dato están recibiendo como parámetro (entre los parentésis)
  • qué tipo de dato están devolviendo, esto se puede identificar fijándonos en el tipo de dato de la variable a la cuál le estamos asignando el valor devuelto por la función.
  • por último, ¿el método está devolviendo algún tipo de dato?. Hay métodos que no devuelven ningún dato. Simplemente hacen una serie de operaciones, las que sean, pero no devuelven ningún valor. Estos métodos al definirlos, su tipo de dato que devuelve se indica que es void (vacío)

A ver si con estas pistas logras hacerlo tú.
« Última modificación: 15 de Junio 2017, 14:28 por Ogramar »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

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".