使用函数求最大值
创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。
要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
public static int max2(int a,int b) {
return a>b?a:b;
}
public static int max3(int a,int b,int c) {
int max=max2(a,b);
return max>c?max:c;
}
public static void main(String[] args) {
System.out.println(max3(3,7,6));
}
结果输出:7
求 N 的阶乘 。
public static int fac(int n) {
int ret=1;
int i=1;
for(i=1;i<=n;i++){
ret*=i;
}
return ret;
}
public static void main(String[] args) {
System.out.println(fac(5));
}
结果输出:120.
求1!+2!+3!+4!+........+n!的和
public static int facSum(int m) {
int sum=0;
for(int j=1;j<=m;j++){
sum+=fac(j);
}
return sum;
}
public static int fac(int n) {
int ret=1;
int i=1;
for(i=1;i<=n;i++){
ret*=i;
}
return ret;
}
结果输出:153.
求斐波那契数列的第n项。(迭代实现)
public static int fib(int n) {
if(n==1){
return 0;
}
if(n==2){
return 1;
}
int f1=0;
int f2=1;
int f3=1;
for(int i=3;i<=n;i++){
f3=f1+f2;
f1=f2;
f2=f3;
}
return f3;
}
public static void main(String[] args) {
System.out.println(fib(7));
}
输出结果:8.
求和的重载
在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果
public static int sum(int a,int b) {
return a+b;
}
public static double sum(double a,double b,double c) {
return a+b+c;
}
public static void main(String[] args) {
System.out.println(sum(1,4));
System.out.println(sum(1.3,5.7,6.5));
}
输出结果:5 13.5
求最大值方法的重载
在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?
public static int max(int a,int b) {
return Math.max(a,b);
}
public static double max(double a,double b,double c) {
double m=Math.max(a,b);
return Math.max(m,c);
}
public static void main(String[] args) {
System.out.println(max(2,5));
System.out.println(max(2.4,3.5,5.6));
}
输出结果:
递归求 N 的阶乘
递归代码重要的是推导递推公式:假设N的阶乘用F(n)表示,那么F(n) = n * F(n-1);
public static int fac(int n) {
if(n==1){
return 1;
}
return n*fac(n-1);
}
public static void main(String[] args) {
System.out.println(fac(5));
}
输出结果:120.
递归求解汉诺塔问题
public static void move(char pos1,char pos2) {
System.out.println(pos1+"->"+pos2+"");
}
public static void hanoi(int n,char pos1,char pos2,char pos3) {
if(n==1){
move(pos1,pos3);
return;
}
hanoi(n-1,pos1,pos3,pos2);
move(pos1,pos3);
hanoi(n-1,pos2,pos1,pos3);
}
标签:return,int,max,方面,static,double,方法,public
From: https://blog.csdn.net/2401_86415114/article/details/142931459