import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class L10C
{
public static void main(String[] args) throws Exception
{
File f = new File("src/Birthdates.txt");
Scanner input = new Scanner(f);
//-------------------------------------------------Read File & Create N2D Map
Map<String, Date> n2d = new TreeMap<String, Date>();
int n = input.nextInt();
for (int r = 0; r < n; r++)
{
// String record = input.nextLine();
// parse record into two pieces
String name = input.next();
String birthdateString = input.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
Date birthdate = sdf.parse(birthdateString.trim());
//System.out.println(name+" - " + birthdate);
n2d.put(name, birthdate);
}
System.out.println("N2D: " + n2d); // debugging output
//-------------------------------------------------Read File & Create D2N Map
Map<Date, String> d2n = new TreeMap<Date, String>();
for (String s : n2d.keySet())
{
Date d = n2d.get(s);
if (!d2n.containsKey(d))
{
d2n.put(d, s);
}
else
{
String existingName = d2n.get(d);
if (s.compareTo(existingName) == -1) // means s < existingName
{
d2n.put(d, s);
}
}
}
System.out.println("D2N: " + d2n); // debugging outpu
//-------------------------------------------------Output D2N Formatted
for (Date d : d2n.keySet())
{
System.out.printf("%tb %<td, %<tY --> %s\n", d, d2n.get(d));
}
}
}
Привет. я получил
Exception in thread "main" java.text.ParseException: Unparseable date: "Jun 7, 1996"
at java.text.DateFormat.parse(DateFormat.java:366)
at L10C.main(L10C.java:27)
ошибка, мой текстовый файл имеет следующие входные данные:
7 Рэнди, 7 июня 1996 г.
Омар, 20 февраля 1999 г.
Сью, 14 сентября 1990 г.
Крис, 14 сентября 1990 г.
Адам, 20 февраля 1996 г. 27 октября 1994 г.
Как я могу исправить ошибку?