カップルの問題私はフィボナッチコードを持っています。配列(入力)内の5番の位置を探したい場合、システムはその位置が5であると言いますが、6と言うでしょうか?また、アレイにない番号を入力すると、システムは場所20(例入力200)にあることを示します。システムは "見つからない"と言わなければならない。Java fibonacci - 配列からのユーザ入力を見つけよう
int totalFibos=20;
int fibs[] = new int[totalFibos];
int a=0;
int b=1;
int fib=0;
fibs[0]=0;
fibs[1]=1;
int fibCounter=2;
while(fibCounter<totalFibos)
{
fib=a+b;
a=b;
b=fib;
fibs[fibCounter]=fib;
fibCounter++;
}
System.out.println("\n\nThe first "+ totalFibos + " fibonacci numbers are: ");
int i=0;
while(i<totalFibos)
{
System.out.print(fibs[i]+" ");
i=i+1;
}
System.out.println();
int userInput=0;
i=0;
Scanner sc= new Scanner(System.in);
int found=0;
while(userInput!=-1)
{
System.out.print("Enter a number to search,(enter -1 to end the search): ");
userInput= sc.nextInt();
while (i<totalFibos)
{
if(userInput==fibs[i])
{
found=1;
break;
}
i++;
}
if(found==1)
System.out.println("The number: " + userInput + " is found at location: "+ i++);
else if (found==0)
System.out.println("The number: "+ userInput + " is not found");
}
if(userInput==-1)
System.out.println("\nThanks");
}
}
おそらく、javaでは配列の添字が「0,1,2,3,4,5,6,7 ...」であるため、6ではなく5と表示されます。 – user7185318
0 1 1 2 3 5 8 13 21など...配列にする必要があります(私が正しくした場合) – buliukko