Foros del Web » Programación para mayores de 30 ;) » Java »

uso de dos switch

Estas en el tema de uso de dos switch en el foro de Java en Foros del Web. Buenas a todos, la verdad el lenguaje JAVA es nuevo para mi, hasta ahora lo empece a trabajar, y me surge una duda en un ...
  #1 (permalink)  
Antiguo 09/03/2010, 14:41
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
De acuerdo uso de dos switch

Buenas a todos, la verdad el lenguaje JAVA es nuevo para mi, hasta ahora lo empece a trabajar, y me surge una duda en un ejercicio que estoy elaborando, yo debo ingresar un numero de dia de la semana e ingresar un numero del dia del mes, en un campo textfield debo mostrar de acuerdo a los datos ingresados, el nombre del dia y del mes, por ejemplo, si yo ingreso en dia:5 y mes:11

entonces debo mostrar un mensaje como: viernes de noviembre


ya he elaborado el ejercicio pero no me muestra los datos correctos, me esta mostrando solo el numero de dia de mes que digito, no se si mi error esta en el mal uso de los dos switch


he aqui el codigo
Código:
import java.awt.*; 
import java.applet.*; 
import java.awt.event.*; 
public class FechaApplet extends Applet implements ActionListener { 
   Label l1, l2, l3;
   TextField t1, t2, t3;
   Button b;
   public FechaApplet() { 
      l1 = new Label("dia"); 
      
      t1 = new TextField(3);
      l3 = new Label("mes");
      t3= new TextField(3); 
      l2 = new Label("Fecha con Letras"); 
      t2 = new TextField(25); 
      b = new Button("Cambiar"); 
      add(l1); 
      add(t1);
      add(l3);
      add(t3); 
      add(b); 
      add(l2); 
      add(t2); 
      b. addActionListener(this); 
      } 
   public void actionPerformed(ActionEvent ae) { 
      int dia = Integer.parseInt(t1.getText());
      int mes = Integer.parseInt(t3.getText()); 
      switch (dia) 
      { 
         case 1: 
            t2.setText("Lunes"); 
            break; 
         case 2: 
            t2.setText("Martes"); 
            break; 
         case 3: 
            t2.setText("Miercoles"); 
            break; 
         case 4: 
            t2.setText("Jueves"); 
            break; 
         case 5: 
            t2.setText("Viernes"); 
            break; 
         
         default: 
            t2.setText("Error en el dia"); 
      } 
      	
      	 switch (mes) 
      { 
         case 1: 
            t2.setText("Enero"); 
            break; 
         case 2: 
            t2.setText("Febrero"); 
            break; 
         case 3: 
            t2.setText("Marzo"); 
            break; 
         case 4: 
            t2.setText("Abril"); 
            break; 
         case 5: 
            t2.setText("Mayo"); 
            break; 
         case 6: 
            t2.setText("Junio"); 
            break; 
         case 7: 
            t2.setText("Julio"); 
            break; 
         case 8: 
            t2.setText("Agosto"); 
            break; 
         case 9: 
            t2.setText("Septiembre"); 
            break; 
         case 10: 
            t2.setText("Octubre"); 
            break; 
         case 11: 
            t2.setText("Noviembre"); 
            break; 
         case 12: 
            t2.setText("Diciembre"); 
            break; 
         default: 
            t2.setText("Error en el mes"); 
      } 
       t2.setText("" +dia + mes); 
   }
}

o no se si mi error este en la parte que dice: t2.setText("" + dia + mes)

aca lo que pretendo es recoger las dos variables y mostrarlas en el campo t2

alguien me podria ayudar??

de antemano gracias
  #2 (permalink)  
Antiguo 09/03/2010, 17:30
 
Fecha de Ingreso: marzo-2010
Mensajes: 35
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: uso de dos switch

HOLA

no entiendo bien el porque de tu codigo... porque usaste switch¿? bueno.. podrias usarlo.. pero no entiendo la manera en que lo hiciste.
Creo que el error esta en que usas el switch de una manera ilogica.. creo que deberias meter los dias y meses en arrays o vectores... luego solo tienes que buscar el dia y el mes seleccionado.
  #3 (permalink)  
Antiguo 09/03/2010, 22:12
 
Fecha de Ingreso: diciembre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 0
Información Respuesta: uso de dos switch

hola oscarbt, bueno, primero que todo debes tener un poco mas de orden logico en lo que quieres hacer por ejempo:

en dos cajas de texto pides el dia y el mes, bien, ahora, con un botón quieres hacer los cálculos, bien!
pero ahora la pregunta es, ¿donde vas a mostrar los resultados?

mi recomendación es ponerlo en otra caja distinta puede ser t4.

que tal así?

Código Java:
Ver original
  1. public void actionPerformed(ActionEvent ae) {
  2.       int dia = Integer.parseInt(t1.getText());
  3.       int mes = Integer.parseInt(t3.getText());
  4.       String d = "";//variable para guardar el dia correspondiente
  5.       String m ="";//variable para guardar el mes correspondiente
  6.       switch (dia)
  7.       {
  8.          case 1:
  9.             d = "Lunes";
  10.             break;
  11.          case 2:
  12.             d = "Martes";
  13.             break;
  14.          case 3:
  15.             .
  16.             .
  17.             .        
  18.          default:
  19.             d = "Error en el dia";
  20.       }
  21.        
  22.          switch (mes)
  23.       {
  24.          case 1:
  25.             m = "Enero";
  26.             break;
  27.          case 2:
  28.             m = "Febrero";
  29.             break;
  30.          case 3:
  31.             .
  32.             .
  33.             .
  34.          default:
  35.             m = "Error en el mes";
  36.       }
  37.        /*por último, pones en la caja nueva (t4, recuerda crearla y ponerla en tu aplicación)
  38.          tu resultado (lo puedes poner donde quieras)*/
  39.        t4.setText(d + " de "+ m);//en 'd' y en 'm' estan los valores que calculaste.
  40.    }

Ojala te sirva...
y no dudes en preguntar cualquier cosa...
saludos

Última edición por MAGISC; 09/03/2010 a las 22:19 Razón: complementar explicación

Etiquetas: dos, switch
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.