[AYUDA] Pequeño programa de notas

Iniciado por reeyesg, 6 Mayo 2015, 17:33 PM

0 Miembros y 1 Visitante están viendo este tema.

reeyesg

Buenos dias, vengo a uds a pedirle una pqueña mano.. me mandaron a hacer un programa en JAVA q Lea 10 notas y diga cual aprobo, reprobo o sobresalio, ya probe con una nota y me va bien.. pero el problema esta en que no se como hacer para correr con 10 notas no tengo ni minima idea :s aqui mi avance

Código (java) [Seleccionar]
String n1= this.Nota1.getText();
    if(n1.equals(""))
    {
        JOptionPane.showMessageDialog(null, "Introduzca la Nota");
    }else{
     double num1= Double.parseDouble(n1);
     
     if (num1<=5.4){
         this.Estado1.setText("Reprobado");
     }
     else if((num1>=5.5) && (num1<=9.4))
     {
              this.Estado1.setText("Aprobado");
     }else{
                 this.Estado1.setText("Sobresaliste");
         
         
     }
       
    }


Una ayuda con eso por favor, gracias de antemano! :P

PabloPbl

Yo te recomiendo que hagas una clase Alumno y que en la clase principal crees un ArrayList de Alumnos y lo recorras con ciclos para que ver como salio cada quien.

Si no lo puedes hacer, te dejo este ejemplo practico, pero no lo copies tal cual esta  :¬¬:

Clase PromedioDeAlumnos:

Código (java) [Seleccionar]

import java.util.ArrayList;
import java.util.Scanner;

public class PromedioDeAlumnos {

    public PromedioDeAlumnos() {
        ArrayList<Alumno> alumnos = new ArrayList();
       
        Scanner scanner = new Scanner(System.in);
       
        for(int i = 0; i < 10; i++) {
            System.out.println("Cual es la nota del alumno Nº "+(i+1));
            int nota = scanner.nextInt();
            alumnos.add(new Alumno(i+1, nota));
        }
       
        for(int i = 0; i < 10; i++) {
            if(alumnos.get(i).getNota() < 6) {
                System.out.println("El alumno Nº "+(i+1)+" ha reprobado el examen");
            }
            else if(alumnos.get(i).getNota() > 8) {
                System.out.println("El alumno Nº "+(i+1)+" ha salido super bien en el examen");
            }
            else {
                System.out.println("El alumno Nº "+(i+1)+" ha salido regular");
            }
        }
    }
   
    public static void main(String[] args) {
        new PromedioDeAlumnos();
    }
   
}



Y la clase Alumno:

Código (java) [Seleccionar]

public class Alumno {

    private int numeroAlumno;
    private int nota;
   
    public Alumno(int numeroAlumno, int nota) {
        this.numeroAlumno = numeroAlumno;
        this.nota = nota;
    }
   
    public int getNota() {
        return this.nota;
    }
}



Saludos!

reeyesg

Claro asi es mas facil porq lo estas haciendo para la consola nativa, pero lo que ando haciendo es para interfaz grafica de java.. si fuera por consola nativa uff mas rapido!!.. o si no,, tendre q copiar 10 veces lo mismo de la primera..

PabloPbl

No es que sea mas fácil o mas difícil si sabes hacerlo como te digo, si quieres usar una interfaz gráfica, claro que lo puedes hacer y es casi los mismo una vez que tengas la parte lógica. Solo que en vez de usar consola, usas JTextfield, si estas usando Swing.

Solo es que haciéndolo con interfaz gráfica lleva un poco mas de tiempo.

PabloPbl

Aparte lo que tu estas preguntando, es como podría hacer la parte lógica del programa, no como diseñar el mismo.

reeyesg

Ummm tienes razon a lo que me dices, pero sigo sin entender... porq los text todos son individuales.. no se como haria para que todos hicieran la misma funcion cn un solo codigo,, es a lo que me quiero dar a entender. :c

PabloPbl

¿A que text te refieres?
Muestra como tienes hecha la interfaz.

reeyesg



Ve asi lo tngo para poder hacer el codigo q puse al principio del tema, necesito 18textfield mas.. 9 para notas y 9 para estados.. en esta saldra el mensaje si aprobo o reprobo.. y en notas ahi uno pondra la nota..

PabloPbl

¿Y cual es el problema?

Haz siquiera probado lo que te he dicho?

NeetBeans hace lo que quiere, te recomiendo que aprendas a usar Swing a puro código, y no uses asistentes, así tendrás mas control sobre tu código.

reeyesg

Ve lo que quiero es que un solo codigo afecte a las cajas de texto.. que no tenga q poner ese poco de comandos y ese tipo de cosas,, a ver si se puede.. o casi algo parecido