A fine cross section of methods there.
I will address the mathematics involved, since that's more my specialty, and since you've already got some good coding answers.
But first, let's look at some of the possible error traps you'll need to consider.
Two things you haven't mentioned are
1) What if any restrictions are to be placed on n?
2) What kinds of errors do you have to check for?
There's some overlap there, of course. If the user enters 7.3, or 7.8, do you want both of those to come in as n=7 (i.e., truncated), or as 7 and 8 respectively (i.e., rounded)? I assume that Java, if it allows a floating input to be stored into an int variable, will truncate. If you want rounding, you will need to input into a float, and do the usual +½ before storing into an int. For negative n (see next paragraph), you'd have to -½ instead of +½. If there is a Floor function, then +½ will work for all.
Do you want to allow negative integers for n? Keep in mind that Fibonacci numbers are defined for all integers, positive, negative, and 0, through their defining recursion. A little scribbling will reveal that the negative-n terms are just the positive-n terms, with alternating signs:
F(-n) = (-1)^(n-1) F(n); i.e.,
for odd n, F(-n) = F(n)
for even n, F(-n) = -F(n)
so that, for instance, F(-8) can be found by computing F(8), and then negating it.
F(..., -8, ... , 8, ...) = ..., -21, 13, -8, 5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Do you want to allow very large-index Fibonacci numbers, which will fit into a double float, but are too large for a double int? You will of course, get a value that isn't exact, but is as close as double precision allows.
As for the pure mathematics of it, you can compute the n'th Fibonacci number for any n (positive, negative, non-integer, or non-real complex) by the closed formula:
F(n) = (φ^[n] - (-φ)^[-n]) / √5, where φ == ½(1 + √5) = 1.61803398874989...
Note two things, however.
First, when n is a non-integer, this will be a non-real complex value. I'm guessing that you don't care to let n be a non-integer.
Second, even for integers n, you will want to enclose that expression in a rounding function, to eliminate any deviation from an integer answer. Like the usual
Round(x) = Int(x+½)
Finally, note that if n is positive and large enough, the error introduced in reducing the formula to
F(n) ≈ φ^[n] / √5
will be smaller than the precision you are keeping for F(n), so you can use that shortcut for sufficiently large n.
EDIT:
In fact, for non-negative integers, n, rounding that expression to the nearest integer, IS just F(n):
F(n) = Round(φ^[n] / √5), n=0,1,2,...
/EDIT
You could even find F(n) for really large n, like, n=1,000,000, by taking log₁₀ of that expression, separate into int and frac, and then take 10^(frac):
log₁₀F(n) = n·log₁₀φ - ½log₁₀5 = 208987.290764977...
F(1,000,000) = 1.953282...·10²⁰⁸⁹⁸⁷