/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
import java.time.format.* ;
import java.math.BigDecimal;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String input
= "01/02/2017,546.12,24.2,"; String[] parts
= input.
split( "," );
// Parse the first element, a date-only value.
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu" );
LocalDate localDate = null;
String inputDate
= parts
[ 0 ] ; try
{
localDate = LocalDate.parse( inputDate , f );
} catch ( DateTimeException e )
{
System.
out.
println( "ERROR - invalid input for LocalDate: " + parts
[ 0 ] ); }
// Loop the numbers
for ( int i = 1 ; i < parts.length ; i++ )
{ // Start index at 1, skipping over the first element (the date) at index 0.
if ( null == s )
{
continue;
}
if ( s.isEmpty( ) )
{
continue;
}
numbers.add( bigDecimal );
}
// Goals: (1) Get the year of the date. (2) Get the last number.
Year year = Year.from( localDate ); // Where possible, use an object rather than a mere integer to represent the year.
int y = localDate.getYear( );
BigDecimal lastNumber
= numbers.
get( numbers.
size( ) - 1 ); // Fetch last element from the List.
System.
out.
println("input: " + input
); System.
out.
println("year.toString(): " + year
); System.
out.
println("lastNumber.toString(): " + lastNumber
);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKCmltcG9ydCBqYXZhLm1hdGguQmlnRGVjaW1hbDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgogICAgICAgIFN0cmluZyBpbnB1dCA9ICIwMS8wMi8yMDE3LDU0Ni4xMiwyNC4yLCI7CiAgICAgICAgU3RyaW5nW10gcGFydHMgPSBpbnB1dC5zcGxpdCggIiwiICk7CgogICAgICAgIC8vIFBhcnNlIHRoZSBmaXJzdCBlbGVtZW50LCBhIGRhdGUtb25seSB2YWx1ZS4KICAgICAgICBEYXRlVGltZUZvcm1hdHRlciBmID0gRGF0ZVRpbWVGb3JtYXR0ZXIub2ZQYXR0ZXJuKCAiZGQvTU0vdXV1dSIgKTsKICAgICAgICBMb2NhbERhdGUgbG9jYWxEYXRlID0gbnVsbDsKICAgICAgIFN0cmluZyBpbnB1dERhdGUgPSAgcGFydHNbIDAgXSA7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgIGxvY2FsRGF0ZSA9ICBMb2NhbERhdGUucGFyc2UoIGlucHV0RGF0ZSAsIGYgKTsKICAgICAgICB9IGNhdGNoICggRGF0ZVRpbWVFeGNlcHRpb24gZSApCiAgICAgICAgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJFUlJPUiAtIGludmFsaWQgaW5wdXQgZm9yIExvY2FsRGF0ZTogIiArIHBhcnRzWyAwIF0gKTsKICAgICAgICB9CgogICAgICAgIC8vIExvb3AgdGhlIG51bWJlcnMKICAgICAgICBMaXN0IDwgQmlnRGVjaW1hbCA+IG51bWJlcnMgPSBuZXcgQXJyYXlMaXN0IDw+KCBwYXJ0cy5sZW5ndGggKTsKICAgICAgICBmb3IgKCBpbnQgaSA9IDEgOyBpIDwgcGFydHMubGVuZ3RoIDsgaSsrICkKICAgICAgICB7ICAvLyBTdGFydCBpbmRleCBhdCAxLCBza2lwcGluZyBvdmVyIHRoZSBmaXJzdCBlbGVtZW50ICh0aGUgZGF0ZSkgYXQgaW5kZXggMC4KICAgICAgICAgICAgU3RyaW5nIHMgPSBwYXJ0c1sgaSBdOwogICAgICAgICAgICBpZiAoIG51bGwgPT0gcyApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggcy5pc0VtcHR5KCApICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgQmlnRGVjaW1hbCBiaWdEZWNpbWFsID0gbmV3IEJpZ0RlY2ltYWwoIHBhcnRzWyBpIF0gKTsKICAgICAgICAgICAgbnVtYmVycy5hZGQoIGJpZ0RlY2ltYWwgKTsKICAgICAgICB9CgogICAgICAgIC8vIEdvYWxzOiAoMSkgR2V0IHRoZSB5ZWFyIG9mIHRoZSBkYXRlLiAoMikgR2V0IHRoZSBsYXN0IG51bWJlci4KICAgICAgICBZZWFyIHllYXIgPSBZZWFyLmZyb20oIGxvY2FsRGF0ZSApOyAgLy8gV2hlcmUgcG9zc2libGUsIHVzZSBhbiBvYmplY3QgcmF0aGVyIHRoYW4gYSBtZXJlIGludGVnZXIgdG8gcmVwcmVzZW50IHRoZSB5ZWFyLgogICAgICAgIGludCB5ID0gbG9jYWxEYXRlLmdldFllYXIoICk7CiAgICAgICAgQmlnRGVjaW1hbCBsYXN0TnVtYmVyID0gbnVtYmVycy5nZXQoIG51bWJlcnMuc2l6ZSggKSAtIDEgKTsgIC8vIEZldGNoIGxhc3QgZWxlbWVudCBmcm9tIHRoZSBMaXN0LgoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImlucHV0OiAiICsgaW5wdXQgKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInllYXIudG9TdHJpbmcoKTogIiArIHllYXIgKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImxhc3ROdW1iZXIudG9TdHJpbmcoKTogIiArIGxhc3ROdW1iZXIgKTsKCgoJfQp9