Java日志第51天 2020.8.27
例4.10 有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问第4个人岁数,他说比第3个人大两岁。问第3个人,又说比第2个人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第5个人多大?
public class Demo4_10 {
public static void main(String[] args) {
System.out.println(age(5));
}
private static int age(int n){
int c;
if(n == 1)
c = 10;
else
c = age(n-1)+2;
return c;
}
}
例4.11 用递归方法求n!
import java.util.Scanner;
public class Demo4_11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
long y;
System.out.print("Please input an integer:");
n = sc.nextInt();
y = fac(n);
System.out.println(n+"! = "+y);
}
private static long fac(int n) {
long f;
if(n<0) {
System.out.println("n<0, data error!");
f = -1;
} else if (n==0 || n==1){
f = 1;
} else
f = fac(n-1)*n;
return f;
}
}
例4.12 静态局部变量的值
public class Demo4_12 {
static int c = 3;
public static void main(String[] args) {
int a = 2;
for (int i = 0; i < 3; i++) {
System.out.println(f(a));
}
}
private static int f(int a) {
int b = 0;
b = b+1;
c = c+1;
return a+b+c;
}
}
例4.13 输出1~5的阶乘值(即1!, 2!, 3!, 4!, 5!)
public class Demo4_13 {
static int f = 1;
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println(i+"! = "+fac(i));
}
}
private static int fac(int n){
f = f*n;
return f;
}
}
例4.14 用extern对外部变量作提前引用声明,以扩展程序文件中的作用域。
例4.15 输入两个整数,要求输出其中的大者。用外部函数实现。
例4.16 在调试程序时,常常希望输出一些所需的信息,而在调试完成后不再输出这些信息。可以在源程序中插入条件编译段。下面是一个简单的示例。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南