目录
1.使用函数求最大值 * 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。 * 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
2.求 N 的阶乘
3.求1!+2!+3!+4!+........+n!的和
4.求斐波那契数列的第n项
5.求和的重载 * 在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果
6.求最大值方法的重载 * 在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?
public static int max2(int a,int b) {
return a>b?a:b;
}
public static int max3(int a,int b,int c) {
return max2(max2(a,b),c);
}
public static void main1(String[] args) {
/**
* 使用函数求最大值
* 创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。
* 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
*/
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()){
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
System.out.println(max3(a,b,c));
}
}
public static long fac(long n){
long ret = 1;
for (int i = 1; i <= n; i++) {
ret *= i;
}
return ret;
}
public static void main2(String[] args) {
/**
* 求 N 的阶乘
*/
Scanner scanner = new Scanner(System.in);
long n = scanner.nextLong();
System.out.println(fac(n));//n = 5 ,fac = 120
}
public static long facSum(long k) {
long sum = 0;
for (int i = 1; i <= k; i++) {
sum += fac(i);
}
return sum;
}
public static void main3(String[] args) {
/**
* 求1!+2!+3!+4!+........+n!的和
*/
Scanner scanner = new Scanner(System.in);
long n = scanner.nextLong();
System.out.println(facSum(n));//n=5 facSum=153
}
//递归法
public static long fib1(long n) {
if(n<=2){
return 1;
}else {
return fib1(n-1)+fib1(n-2);
}
}
//迭代法(循环)
public static long fib2(long n){
//1 1 2 3 5 8 13
//a b c
// a b c
int a = 1;
int b = 1;
int c = 1;
while(n > 2){
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
public static void main(String[] args) {
/**
* 求斐波那契数列的第n项。(迭代实现)
*
*/
Scanner scanner = new Scanner(System.in);
long n = scanner.nextLong();
System.out.println(fib2(n));//n = 10, fib(10) = 55
}
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 main5(String[] args) {
/**
* 求和的重载
* 在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果
*/
int a = 1;
int b = 2;
double c = 3.8;
System.out.println(sum(a,b));//1+2=3
System.out.println(sum(a,b,c));//1+2+3.8=6.8
}
import java.util.Scanner;
public class Test {
public static int max(int m,int n) {
return m>n?m:n;
}
public static int max(int m,int n,int k) {
return max(max(m,n),k);
}
public static void main6(String[] args) {
/**
* 求最大值方法的重载
* 在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?
*/
System.out.println(max(1,2));
System.out.println(max(1,2,10));
}
}