Alguien me corrige este programa en java? no tengo idea como hacerlo uu

Iniciado por EclipseLunar, 21 Mayo 2012, 04:05 AM

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

EclipseLunar

Hola a todos, Vine al  foro para ver si alguien me podia ayudar con este ejercicio en java, recien comienzo a practicar y me tope con este ejercicio me quede estancado  :-\ :-\ Alguien me puede ayudar?
Grax de antemano

El enunciado del problema es este:
1.Desarrollar un programa que registre los votos que se realizan en un colegio
para la junta directiva. El programa debe registrar el candidato elegido, el sexo y edad del votante.
El programa debe reportar el candidato ganador, y dos reportes de verificación:
•Reporte total de votos por sexo
•Reporte total por edad: Joven, adulto y adulto mayor
•El candidato menos votado
Para estas elecciones se han presentado tres candidatos
Considerar:
•Joven: 18 – 25
•Adulto: 25-40
•Adulto mayor: >40


package trabajounidad1;

import javax.swing.*;
public class TrabajoUnidad1 {   
    public static void main(String[] args) {     
      int edad,ch=0,cm=0,joven=0,adulto=0,adultom=0,voto,max=0,min=999999999;     
      char genero;
     
     do{
     edad=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Edad del Votante"));         
        switch(edad){
                 
          case 1:
              if(edad>18 && edad<=25){           
                 genero=JOptionPane.showInputDialog("Ingrese Genero del Votante").charAt(0);
         
                    if(genero=='M'||genero=='m'){
                         ch++;
              voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;
                       
              }       
               while(voto<min){
                   min=voto;
               }
             }
                   
                    else{
                  cm++;
                voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;
               }
                while(voto<min){
                   min=voto;
               }
              } 
             
         
       
                    joven++;
      } break;
     
        case 2:
              if(edad>25 && edad<=40){
           
             genero=JOptionPane.showInputDialog("Ingrese Genero del Votante").charAt(0);
         
              if(genero=='M'||genero=='m'){
                  ch++;
              voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;
              }
               while(voto<min){
                   min=voto;
               }
                                         
             }else{
                  cm++;
                voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;
               }
                while(voto<min){
                   min=voto;
               }
              } 
             
         
     
                       
     }     
      adulto++;       
        break;
      case 3:
              if(edad>40){
           
             genero=JOptionPane.showInputDialog("Ingrese Genero del Votante").charAt(0);
         
              if(genero=='M'||genero=='m'){
                  ch++;
              voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;
              }
               while(voto<min){
                   min=voto;
               }
                                         
             }else{
                  cm++;
                voto=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Candidato preferido\n[1]Candidato 1\n[2]Candidato 2\n[3]Candidato 3 "));
               while(voto>max){
                       max=voto;                       
               }
                while(voto<min){
                   min=voto;
               }
              } 
             
         
     }     
                    adultom++;
    break;
       }
        }while(edad!=0);
     
     }
}






XD  ;D ;D


Roboto

?¿?¿ Eres estudiante de FP?¿?¿?¿? o estas programando por "placer"?
te comento pork hay gente k cuando llega finales de mayo principios de junio,vienen con programas "finales" para k se los haga la gente del foro.

no se,debe ser que esta todo mezclado,pero me duele los ojos al leerlo.
no me fije bien pero en el primer if,si metes a alguien de 18 años,no entra.

tendria k ser if(edad>=18) "lo mismo para el adulto"

el do while tiene la condicion k edad !=0,pero joven es como minimo 18 años,yo pondria la condicion del do while a while(edad<18)

RyogiShiki

#2
Sabes acaso lo que estás haciendo? Porque parece que no tienes la más remota idea. Ahora decir: "me tope con este ejercicio me quede estancado " es aparentar que eres un empírico, cuando claramente es un trabajo de la Universidad.

En segundo lugar vienes dices que te quedas estancado, y ni siquiera dices cual(es) es(son) la(s) duda(s) que tienes. Bueno, te paso esa, decidí ayudarte, me puse a leer el código y como dije al principio es un completo y total desastre!!, parece que no has leído ni lo más básico o te has dormido en todas las clases porque no sabes lo que estás haciendo, y bienes aquí, como esperando a que alguien te haga el trabajo.

Pues parece que este semestre vas a perder esta materia. A ver si cuando la repitas pones más atención (si es que sigues en la carrera <.<)


EclipseLunar

#3
Gracias por la respuesta lGalo y nada de eso de tarea, por que es cierto que es un ejercicio de donde estudio, pero es solo un banco de preguntas que le pedí al profesor para practicar, pienso que estaría mal si solo pusiera el ejercicio como esta en las reglas pero ya ven que lo intente, personas como ry.. Abstenerse de sus comentarios que podrían estar aprendiendo otras cosillas por otro lado en el tiempo que uso para escribir esas lineas .
                           Saludos y Gracias.
e.e estoy recien aprendiendo esto de programación no se si tu aprendiste todo de golpe pero yo no.trato de aprender un poco "solo" por que mi profesor llega a rascarse las pelotas. --

RyogiShiki

#4
Cita de: EclipseLunar en 23 Mayo 2012, 01:27 AM
Gracias por la respuesta lGalo y nada de eso de tarea, por que es cierto que es un ejercicio de donde estudio, pero es solo un banco de preguntas que le pedí al profesor para practicar, pienso que estaría mal si solo pusiera el ejercicio como esta en las reglas pero ya ven que lo intente, personas como ry.. Abstenerse de sus comentarios que podrían estar aprendiendo otras cosillas por otro lado en el tiempo que uso para escribir esas lineas .
                           Saludos y Gracias.
e.e estoy recien aprendiendo esto de programación no se si tu aprendiste todo de golpe pero yo no.trato de aprender un poco "solo" por que mi profesor llega a rascarse las pelotas. --

Mira yo no intento hacerme el que se más que todos ni nada por el estilo, todavía soy un completo n00b en el asunto. Y no quiero iniciar un flame ni mucho menos. Pero a veces uno se cansa de ver tanto vago rondando por aquí y por otros lados. Tal vez he descontextualizado un poco la situación.

Pero igual. Si hasta ahora estás comenzando, entonces coge un libro y leelo, no te lances al agua sin flotador ni cuerda, Por ejemplo, para que estás usando Swing, cuando aun no conoces lo básico del lenguaje? Vas a terminar más enredado de lo que ya estás. Si tu meta en este momento es realizar este ejercicio, entonces no te digo que no puedes hacerlo, te digo que lo aplaces hasta que tengas unas buenas bases. Porque parece que has hecho todo al vuelo y sin entender nada.

Por eso te lo repito, coge un buen libro y empieza a aprender el lenguaje desde 0


EclipseLunar

xd bueno creo k el JOptionPane.. y el System.out.. son solo para mostrar y pedir datos no creo que tenga q ver con el problema.(corriganme si me equivoco) bueno en fin seguire intentando otros ejercicios aver si luego me sale este creo k fui un poco de golpe xd.  :silbar:
Gracias a todos por sus comentarios.
                                                     Saludos. ;D

skapunky

Ya que estas aprendiendo, acostumbra a documentar el codigo. No hace falta que cada línea pongas lo que hace pero si en líneas mas difíciles de entender si pasan 3 meses y vuelves a leer el codigo o si otra persona que no sepa de que vá pueda comprenderlo lo mas rapido posible.

En tu caso éste codigo es muy sencillo pero no está de mas tener cuidado con estos detalles. Tómalo como una costumbre.
Killtrojan Syslog v1.44: ENTRAR

EclipseLunar

mmmmmmmmm nunca se me habia ocurrido estar comentado mis codigos, gracias me parece buena idea xd :3

rommel89

jajajaj le cayo rebien el titulo a tu problema

pa empezar en donde obtienes la edad y luego lo comparas en el SWITCH nunca va entrar a menos que pongas edades entre 1 y 3 años ya que son tus case

y en dado caso de que entrara en case 1

en el while voto>max se que dara ciclado porq max vale 0 por primera vez y si tu pones cualquier numero diferente de 0 este que dara ciclado ya que cualquier numero diferente de cero es mayor y lo mismo pasa con el while de voto < min ya que para que saliera de ese while tendria que ser un numero mayor al que le pusiste al min esas son algunas observaciones a in el if donde preguntas si es M o m puedes transformar la letra a minuscula o mayuscula para no preguntar por M o m.

te recominedo poner mas atencion en las clases porque al parecer ya no estas en programacion 1

goll9d

Bueno la verdad el codigo si esta un poco enredado, como ya te comentaron no estaria mal si agregas un par de comentarios para ayudar a entender y otra cosa cuando vayas a poner un codigo hazlo tipo java, aparecera con colores y facilitara un poco la lectura.

Si estas aprendiendo busca ejercicios mas faciles