Foro de elhacker.net

Programación => Java => Mensaje iniciado por: reeyesg en 6 Mayo 2015, 17:33 pm



Título: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 17:33 pm
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
  1. String n1= this.Nota1.getText();
  2.    if(n1.equals(""))
  3.    {
  4.        JOptionPane.showMessageDialog(null, "Introduzca la Nota");
  5.    }else{
  6.     double num1= Double.parseDouble(n1);
  7.  
  8.     if (num1<=5.4){
  9.         this.Estado1.setText("Reprobado");
  10.     }
  11.     else if((num1>=5.5) && (num1<=9.4))
  12.     {
  13.              this.Estado1.setText("Aprobado");
  14.     }else{
  15.                 this.Estado1.setText("Sobresaliste");
  16.  
  17.  
  18.     }
  19.  
  20.    }

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


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:05 pm
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
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class PromedioDeAlumnos {
  5.  
  6.    public PromedioDeAlumnos() {
  7.        ArrayList<Alumno> alumnos = new ArrayList();
  8.  
  9.        Scanner scanner = new Scanner(System.in);
  10.  
  11.        for(int i = 0; i < 10; i++) {
  12.            System.out.println("Cual es la nota del alumno Nº "+(i+1));
  13.            int nota = scanner.nextInt();
  14.            alumnos.add(new Alumno(i+1, nota));
  15.        }
  16.  
  17.        for(int i = 0; i < 10; i++) {
  18.            if(alumnos.get(i).getNota() < 6) {
  19.                System.out.println("El alumno Nº "+(i+1)+" ha reprobado el examen");
  20.            }
  21.            else if(alumnos.get(i).getNota() > 8) {
  22.                System.out.println("El alumno Nº "+(i+1)+" ha salido super bien en el examen");
  23.            }
  24.            else {
  25.                System.out.println("El alumno Nº "+(i+1)+" ha salido regular");
  26.            }
  27.        }
  28.    }
  29.  
  30.    public static void main(String[] args) {
  31.        new PromedioDeAlumnos();
  32.    }
  33.  
  34. }
  35.  
  36.  

Y la clase Alumno:

Código
  1. public class Alumno {
  2.  
  3.    private int numeroAlumno;
  4.    private int nota;
  5.  
  6.    public Alumno(int numeroAlumno, int nota) {
  7.        this.numeroAlumno = numeroAlumno;
  8.        this.nota = nota;
  9.    }
  10.  
  11.    public int getNota() {
  12.        return this.nota;
  13.    }
  14. }
  15.  
  16.  

Saludos!


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:14 pm
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..


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:18 pm
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.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:20 pm
Aparte lo que tu estas preguntando, es como podría hacer la parte lógica del programa, no como diseñar el mismo.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:23 pm
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


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:25 pm
¿A que text te refieres?
Muestra como tienes hecha la interfaz.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:35 pm
(http://i59.tinypic.com/25r362b.jpg)

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


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:39 pm
¿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.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:42 pm
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


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 18:47 pm
No si si entendí bien, pero para no repetir tanto código, has uso de lo ciclos: For o While por ejemplo.

De esta forma, no tendras que poner 10 condicionles if, y solo lo haras con un ciclo While, como te he mostrado en el ejemplo de arriba.  :P


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:52 pm
Exactooo, pero lo que no entiendo es como hacerlo en interfazx grafica xd ..


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: kaiserr en 6 Mayo 2015, 18:54 pm
Nunca he utilizado interfaz grafica con java, pero habra algun metodo para asociar el resultado de cada bucle a un campo de texto... supongo que por algun ID o algun nombre.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 18:59 pm
Nunca he utilizado interfaz grafica con java, pero habra algun metodo para asociar el resultado de cada bucle a un campo de texto... supongo que por algun ID o algun nombre.


Es lo que necesito saber.. porq tengo la condicion de prueba.. pero como son  10notas.. y cada una debe ser independiente de la otra .. entonces no se todavia..


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 19:03 pm
De la misma manera que lo harías en consola, solo que para capturar entradas del usuario(Input) harías usos de los JTextFields de Swing y te lo puse en un comentario anterior.

Pues si no sabes hacerlo, es por que no sabes usar interfaces gráficas. Busca algún tutorial de Swing en Youtube o algún libro y si tiene alguna duda en particular, comentala en el foro.


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: reeyesg en 6 Mayo 2015, 19:07 pm
Buueh,, si usted dice esta bien!!.. Gracias de antemano vere cmo soluciono


Título: Re: [AYUDA] Pequeño programa de notas
Publicado por: PabloPbl en 6 Mayo 2015, 19:11 pm
Un saludo bro, y espero te sirva lo que he puesto para orientarte un poco.