aspose file tools*
The moose likes Beginning Java and the fly likes Problem with switches Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Problem with switches" Watch "Problem with switches" New topic
Author

Problem with switches

David Moncada
Greenhorn

Joined: Feb 26, 2013
Posts: 9
Hello guys i'm new to this forums and I hope someone can help me, I have this switch:

String arrivalDate;
arrivalDate = "20 Nov 2013";
String input = arrivalDate;
Date d;
switch (arrivalDate) {

case "dd MMM yyyy":
d = new SimpleDateFormat("dd MMM yyyy", Locale.US).parse(input);
break;
case "dd-MMMM-yyyy":
d = new SimpleDateFormat("dd-MMMM-yyyy", Locale.US).parse(input);
break;
case "ddMMMMyyyy":
d = new SimpleDateFormat("ddMMMMyyyy", Locale.US).parse(input);
break;
case "dd-MMMM-yy":
d = new SimpleDateFormat("dd-MMMM-yy", Locale.US).parse(input);
break;
case "dd/MMMM/yy":
d = new SimpleDateFormat("dd/MMMM/yy", Locale.US).parse(input);
break;
default:
d = new SimpleDateFormat("MM/dd/yyyy", Locale.US).parse(input);
break;
}
String output = new SimpleDateFormat("MM/dd/yyyy").format(d);
System.out.println("this " + output);

}

It always go rigth to the default and well it sends me a parse error, why is this I have tryed to make it work but it doesn't thanks in advance guys
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10912
    
  12

If your case statement has "dd MMM yyyy", and your input is "20 Nov 2013", those strings are not a match. one starts with a little 'd', the other starts with a digit '2'. The same is true for all your cases - it is matching on the LITERAL string you provide, not some interpretation of what your string means.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
David Moncada
Greenhorn

Joined: Feb 26, 2013
Posts: 9
But then how can I introduce a date to compare to?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60050
    
  65

The switch statement is going to do any pattern matching. Perhaps you need regular expressions to see what pattern your sting matches.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
David Moncada
Greenhorn

Joined: Feb 26, 2013
Posts: 9
Ok I will try that thanks!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Problem with switches
 
Similar Threads
Date Confusion
convert a string to java.sql.Date object
comparing date
java.text.ParseException: Unparseable date: ""
Date Conversion