J'ai ce problème vraiment étrange d'un petit extrait de code fonctionnant sur une machine, et pas une autre. Ce code:Java - DateTimeFormatter - ParseException
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd");
Map<LocalDate, Double> temperatur = new TreeMap<>();
for (LocalDate currentDate = LocalDate.parse("2014-jan-01", formatter); currentDate.getYear() < 2015; currentDate = currentDate.plusDays(1))
{
String date = currentDate.toString();
int stringIndex = (data.indexOf(date));
String tempString = data.substring((stringIndex + 31), (stringIndex + 35));
if(tempString.contains(";"))
tempString = tempString.substring(0, 3);
double temp = Double.parseDouble(tempString);
temperatur.put(currentDate, temp);
}
me donne l'exception:
Exception in thread "main" java.time.format.DateTimeParseException: Text '2014-jan-01' could not be parsed at index 5
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDate.parse(Unknown Source)
at main.SMHITest.getValues(SMHITest.java:50)
at main.DataCollectionBuilder.addToResult(DataCollectionBuilder.java:46)
at main.DataCollectionBuilder.<init>(DataCollectionBuilder.java:25)
at main.ClientProgram.main(ClientProgram.java:14)
La ligne SMHITest.Java:50 est que vous pouvez deviner à la boucle. La partie étrange est, ce morceau de code fonctionne très bien sur un ordinateur, mais refuse de travailler pour moi à la maison. Les deux machines exécutent Eclipse mars jee, mais une machine (où son fonctionnement) exécute java 1.8.0_112, et l'autre exécute java 1.8.0_121-b13. Mais je ne peux pas imaginer que ce serait le problème?
Est-ce que "J" de "Jan" doit être capitalisé? – Keith
Oui, il semble que oui, parce que ça l'a fait! Je vous remercie! Bien qu'il soit encore étrange que ce n'était pas nécessaire sur l'autre machine. Mais malade laisse là. Merci encore. – Sletten