package pr02; public class FibonacciListSimple { private int[] values; public FibonacciListSimple(int n) { int maxLength = getMaxLength(); if (n < 0) n = 0; if (n > maxLength) n = maxLength; fillValues(n); } public static int getMaxLength() { int fib1 = 0; int fib2 = 1; int fibNew = fib1 + fib2; int count = 2; while (fibNew > 0) { fib1 = fib2; fib2 = fibNew; fibNew = fib1 + fib2; count++; } return count; } private void fillValues(int n) { int fib1 = 0; int fib2 = 1; int fibNew = fib1 + fib2; values = new int[n]; if (n == 0) return; values[0] = fib1; if (n == 1) return; values[1] = fib2; for (int i=2;i= values.length)) return -1; return values[n]; } public double getAsDouble(int n) { if ((n < 0) || (n >= values.length)) return -1; return (double)values[n]; } public String getAsString(int n) { if ((n < 0) || (n >= values.length)) return null; String s = ""+values[n]; String result = ""; while (s.length() > 3) { result = "," + s.substring(s.length()-3) + result; s = s.substring(0,s.length()-3); } result = s + result; return result; } public int[] getAllAsInt() { int[] newValues = new int[values.length]; for (int i=0;i