1.使用函数求最大值
创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。
要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算。
public class fangfa {
//求三个数的最大值
public static int max(int a,int b){
/*if(a>b){
System.out.println(a);
return a;
}else{
System.out.println(b);
return b;
}*/
return a>b?a:b;
}
public static int max2(int a,int b,int c){
int ret=max(a,b);
return ret>c?ret:c;
}
public static void main(String[] args) {
//int a=max2(22,3,4);
System.out.println(max2(1,2,3));
}
}
2. 求 N 的阶乘 。
public static int fac(int n){
int fac=1;
for(int i=1;i<=n;i++){
fac=fac*i;
}
return fac;
}
public static void main(String[] args) {
int n=10;
System.out.println(fac(3));
}
}
3.求1!+2!+3!+4!+........+n!的和。
public static int fac(int n){ //计算n的阶乘和
int fac=1;
for(int i=1;i<=n;i++){
fac=fac*i;
}
return fac;
}
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
int n= reader.nextInt();
int sum=0;
for(int i=1;i<=n;i++){
sum+=fac(i);
}
System.out.println(sum);
}
4.求斐波那契数列的第n项。(迭代实现)。
public static int fib(int n){ //斐波那契数列(迭代实现)
int f1=1;
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(1));
System.out.println(fib(2));
System.out.println(fib(3));
System.out.println(fib(4));
System.out.println(fib(5));
System.out.println(fib(40));
}
5. 求和的重载
在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果。
public static int add(int x,int y){
return x+y;
}
public static double add(double x,double y,double z){
return x+y+z;
}
public static void main(String[] args) {
int x=4,y=5;
double a=2.5,b=3.5,c=4.5;
System.out.println(add(x,y));
System.out.println(add(a,b,c));
}
6.求最大值方法的重载。
在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?
//求最大方法值的重载;
public static int max(int x,int y){
return x>y?x:y;
}
public static double max(double x,double y,double z){
double max=0.0;
max=x>y?x:y;
return max>z?max:z;
}
public static void main(String[] args) {
int a=10,b=20;
double c=10.5,d=17.5,e=18.5;
System.out.println(max(a,b));
System.out.println(max(c,d,e));
}