题目:以下声明合法的是()

题目:以下声明合法的是()

A、default String s;

B 、public final static native int w();

C、abstract double d;

D、abstract final double hyperbolicCosinc();

结果:B

解释:

A:属性的可访问控制符可以是public、protected、private、默认(如果不写的话,被认为是friendly,但是写上friendly会报错),没有default修饰符,所以A错误

B:定义的是本地方法,从修饰符native可以看出来,被native修饰的方法,底层是C++,表明这个方法采用的是JNI技术(Java Native Interface)完成想要的功能,JNI技术上层规范是JNA(Java Native Access),JNI技术其实也是实现了Java语言与其他语言的通信,比如这次就是C++,很多的方法采用的都是native修饰符,比如Object中hashCode()、clone()、notify()、wait()、以及System中的arraycopy(),所以B正确

C:属性的非可访问控制符可以是static和final,没有abstract,所以C错误

D:方法的非可访问控制符可以是abstract、static、final,但是abstract不可以和static以及final连用,毕竟abstract是虚拟的动态的,但是static和final都是静态的,不过static和final可以连用,毕竟两个都是静态的

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ```c #include <stdio.h> int main() { int n; int fib[30] = {0, 1}; // 数组初始化为0和1 // 计算前30项斐波那契数列 for (int i = 2; i < 30; i++) { fib[i] = fib[i-1] + fib[i-2]; } // 输入要查看的项数 printf("请输入要查看的斐波那契数列项数(1-30):"); scanf("%d", &n); if (n < 1 || n > 30) { printf("请输入1-30之间的整数!\n"); return 0; } printf("第%d项斐波那契数列的值为:%d\n", n, fib[n-1]); return 0; } ``` ### 回答2: 以下是一个用数组处理求Fibonacci数列问题的程序,可以计算数列前30项并保存到一维数组中。程序还包含以下功能,可以输入1-30的整数并查看对应的第n位斐波拉契数是多少。当输入值不在1-30之中时,程序将结束。保存为2.c。 ```c #include <stdio.h> void fibonacci(int n, int fib[]) { fib[0] = 0; fib[1] = 1; for (int i = 2; i < n; i++) { fib[i] = fib[i - 1] + fib[i - 2]; } } int main() { int fib[30]; fibonacci(30, fib); int n; while (1) { printf("请输入1-30之间的整数(n),输入-1退出程序:"); scanf("%d", &n); if (n == -1) { break; } if (n >= 1 && n <= 30) { printf("第%d位斐波拉契数是:%d\n", n, fib[n - 1]); } else { printf("输入错误,请输入1-30之间的整数。\n"); } } return 0; } ``` 在这个程序中,我们首先定义了一个`fibonacci`函数,它使用一个循环来计算前`n`项斐波拉契数,并将结果保存到数组`fib`中。 然后,在`main`函数中,我们首先声明了一个大小为30的整型数组`fib`,然后调用`fibonacci`函数来计算并保存斐波拉契数列。 接下来,我们使用一个无限循环,每次循环中要求用户输入一个1-30之间的整数`n`,如果输入的是-1,则退出程序。如果输入位于1-30之间,则输出对应的斐波拉契数。如果输入不在1-30之间,则输出错误信息。 这个程序可以满足题目中的要求,可以通过输入1-30的整数来查看对应的斐波拉契数是多少,并且在输入不合法的情况下会结束程序的运行。 ### 回答3: #include <stdio.h> int main() { int n; int fibo[30]; // 计算斐波那契数列前30项并保存到数组中 fibo[0] = 0; fibo[1] = 1; for (int i = 2; i < 30; i++) { fibo[i] = fibo[i-1] + fibo[i-2]; } // 输入要查询的位数 printf("请输入要查询的斐波那契数列位数(1-30):"); scanf("%d", &n); // 查询对应的斐波那契数 if (n >= 1 && n <= 30) { printf("第%d位的斐波那契数是:%d\n", n, fibo[n-1]); } else { printf("输入有误,程序结束。\n"); } return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值