求第N个斐波那契的数值,自己感觉代码没有问题,但是运行就报错
import java.util.Scanner;
public class Xun4
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("请输入你要查询的第n个数的值");
int n = scan.nextInt();
int num1 = 1,num2 = 1;//前两个数
int t = 0;
for (int k = 2;k < n ;k++ )//从2开始
{
t = num1 + num2;//第三个数是前两个数之和
num2 = t; //交换num1和num2的值
num1 = num2;
}
System.out.println("你要查询的第n个数的值为:"+num2);
}
}
Xun4.java:18: 错误: 需要class, interface或enum
}
^
1 个错误
尝试过推翻重新编写,但是还是报错
正常运行
你这个代码运行起来确实没有问题,你这个错误不是你代码的问题,不过你代码本身又有问题,应该改成这样
package com.xuexi.test;
import java.util.Scanner;
public class Xun4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入你要查询的第n个数的值");
int n = scan.nextInt();
int num1 = 1, num2 = 1;//前两个数
int t = 0;
for (int k = 2; k < n; k++)//从2开始
{
t = num1 + num2;//第三个数是前两个数之和
num1 = num2;
num2 = t; //交换num1和num2的值
}
System.out.println("你要查询的第n个数的值为:" + num2);
// 1 2 3 4 5
// 1 1 2 3 5
}
}
借用第三个中间数来传值,不然就会被覆盖掉