Autor Tema: Java Añadir metodo para calcular la media de 3 strings en una clase (objeto)  (Leído 3595 veces)

AFenoy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Buenos dias, estoy haciendo un programa, en el que un objeto registro, obtiene 3 notas por string, y tiene que calcular la nota media, pero esa nota media, tambien esta dentro del objeto.

¿Hay alguna manera de crear un metodo, que calcule la media automaticamente y la agregue al objeto?

Os pongo como la tengo ahora mismo:

Código: [Seleccionar]
public class Registro implements Serializable  {
    public String cadena;
    public String nombre;
    public String apellido;
    public String nota1;
    public String nota2;
    public String nota3;
    public int notaMedia;

    public Registro(String nombre, String apellido, String nota1, String nota2, String nota3, int notaMedia) {
        this.nombre = nombre;
        this.apellido = apellido;
        this.nota1 = nota1;
        this.nota2 = nota2;
        this.nota3 = nota3;
        this.notaMedia = notaMedia;
   
    }
    public int notaMedia()
    {
        int nota12 = Integer.parseInt(nota1);
        int nota22 = Integer.parseInt(nota2);
        int nota32 = Integer.parseInt(nota3);
        int notaMedia = (nota12+ nota22 + nota32)/3;
        return notaMedia;
    }
     @Override
        public String toString() {
        return "Nombre:"+ nombre+" "+ apellido+"\nNotas:\n1ºEval:"+ nota1+" 2ºEval:" +nota2+" 3ºEval:" +nota3+"\nNota Media: "+ notaMedia;
     
}
}

Despues en el main hago algo asi, pero lo veo muy chapucero...

           
Código: [Seleccionar]
Registro r = new Registro(nombre, apellido, nota1, nota2, nota3, 0);
            int notaMedia = r.notaMedia();
            Registro r1 = new Registro(nombre, apellido, nota1, nota2, nota3, notaMedia);

El main recoge strings de un archivo CSV por eso vienen en String.

A ver si podeis ayudarme! Gracias de antemano!
« Última modificación: 10 de Abril 2017, 20:35 por Ogramar »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Añadir metodo para calcular la media de 3 strings en una clase
« Respuesta #1 en: 10 de Febrero 2017, 08:42 »
public float notaMedia (){ this.notaMedia = (this.nota1+this.nota2+rhis.nota3)/3; }

Llama a es función directamente en el constructor
y se calculará automático al hacer new

AFenoy

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Añadir metodo para calcular la media de 3 strings en una clase
« Respuesta #2 en: 10 de Febrero 2017, 17:48 »
Muchas gracias por la ayuda Lorenzo31, pero esa solucion no me valdria.
Ademas de que nota1,2 y 3 son strings, luego al crear un objeto registro,
¿como introduciria la notaMedia de ese objeto?

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Añadir metodo para calcular la media de 3 strings en una clase
« Respuesta #3 en: 10 de Febrero 2017, 20:29 »
no entiendo el problema, que mas da que sean strings ? haces un parse y ya está.

Si al hacer el new pasas las tres notas, tan solo debes igualar la variable notaMedia a la función crearMedia y que crearMedia devuelva y guarde o guarde directamente la nota media,  no entiendo bien tu problema.


public Registro(string nota1...){
//aquí la asignación de variables
.....
this.notaMedia = getMedia();
}
« Última modificación: 10 de Febrero 2017, 20:40 por Lorenzo31 »

 

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