ayuda programa de java

Iniciado por xemnas, 15 Diciembre 2012, 14:37 PM

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

xemnas

hola a todos, estoy aprendiendo "lo que puedo" a aprogramar, primero empecé con html, php y ahora me he pasado a java. Me bajé unos cuantos pdfs y algo he conseguido aprender un poco, pero hay un ejercicio que me está costando muchisimo y por más que miré en internet no consigo nada relevante.

el ejercicio seria algo así como, dime una fecha en el siguiente formato: 20 de junio de 1968 y lo que tiene que sacarnos es la fecha de esta forma, 20/06/1968. Se me ha ocurrido hacer un switch que asigne el nombre del mes a su número y luego sería sustituir hasta el delimitador "de" por una /, eso lo he pensado con un split.

pero por mucho que pruebe cosas, como ya dije no consigo nada.
gracias.

Danyfirex

creo que podría ser algo así.

no se si funcione porque no se java, solo ley un poco y hice esto en el notepad :S


Código (java) [Seleccionar]
//seria algo Asi

String[] lista;
String mes;

String cadena = "20 de junio de 1968";
lista = cadena.split("de");
mes= lista[1];
switch ( mes ) {
      case 'junio':
           System.out.println(lista[0] + "/" + "6" +"/"+lista[2]);
           break;
      case 'enero':
           System.out.println( lista[0] + "/" + "1" +"/"+lista[2]);
           break;
      case 'febrero':
           System.out.println( lista[0] + "/" + "2" +"/"+lista[2]);
           break;
      case 'mayo':
           System.out.println( lista[0] + "/" + "4" +"/"+lista[2] );
           break;
      default:
           System.out.println("error" );
           break;
      }


espero y cojas la idea. y disculpa si puse el numero del mes mal es que no me acuerdo jajaja.

saludos

xemnas

voy a probarlo y te comento, gracias por tu tiempo  ;D

xemnas

Código (java) [Seleccionar]

public class ejer3pdf {

    public static void main(String[] args) {
    String[] lista;
    String mes;
   
    String cadena = "20 de enero de 1968";
    lista = cadena.split("de");
    mes= lista[1];
    switch ( mes ) {
         case "enero":
              System.out.println(lista[0] + "/" + "01" +"/"+lista[2]);
              break;
         case "marzo":
              System.out.println( lista[0] + "/" + "1" +"/"+lista[2]);
              break;
         case "febrero":
              System.out.println( lista[0] + "/" + "2" +"/"+lista[2]);
              break;
         case "mayo":
              System.out.println( lista[0] + "/" + "4" +"/"+lista[2] );
              break;
         default:
              System.out.println("error" );
              break;
         }
    }





me devuelve error, alguna idea?

Danyfirex

pues como te dije no se nada de java jaja,

lo mas probables es que tengas que hacer trim porque recuerda que al hacer split también se cuentan los espacios.

proba así.


Código (java) [Seleccionar]
public class ejer3pdf {

    public static void main(String[] args) {
    String[] lista;
    String mes;

    String cadena = "20 de enero de 1968";
    lista = cadena.split("de");
    mes= lista[1].trim();
//si no proba asi switch ( mes.trim() ) {
    switch ( mes ) {
         case "enero":
              System.out.println(lista[0] + "/" + "01" +"/"+lista[2]);
              break;
         case "marzo":
              System.out.println( lista[0] + "/" + "1" +"/"+lista[2]);
              break;
         case "febrero":
              System.out.println( lista[0] + "/" + "2" +"/"+lista[2]);
              break;
         case "mayo":
              System.out.println( lista[0] + "/" + "4" +"/"+lista[2] );
              break;
         default:
              System.out.println("error" );
              break;
         }
    }

xemnas


Danyfirex

Cita de: xemnas en 15 Diciembre 2012, 17:12 PM
funciona, muchas gracias  ;D

de nada, gracias a vos por hacerme tocar un poco Java jaja  ;D veré si lo descargo. para aprender. saludos