Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: AFenoy en 08 de Febrero 2017, 16:40
-
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:
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...
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!
-
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
-
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?
-
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();
}