In Java (just like in C and C++), if you start an integer literal with a 0 (like you are doing with 0000008704 and 0000008999 in your code), it is interpreted as a number in the octal numeral system instead of as a decimal number.

You didn't mean to use octal numbers, so you should just remove the zeroes.

Jesper is right... why do you need all those leading 0's? or why don't you use 0000000000000000000000000000000000000000000000000000008704 and 0000000000000000000000000000000000000000000000000000008999?

because you don't need leading 0's. Therefore, when you put one on your number, Java assumes you are writing a number in base-8. The only allowed digits in base-8 are 0,1,2,3,4,5,6, and 7. You're numbers have the digit '8', so Java is confused, and refuses to compile your code.

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