JAVA每日随手练【方法的创建与调用】
1.求三个数的最大值
功能:创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3
要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算
代码:
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个数:");
int a1=sc.nextInt();
System.out.print("请输入第二个数:");
int a2=sc.nextInt();
System.out.print("请输入第三个数:");
int a3=sc.nextInt();
System.out.println("三个数中最大的是:"+max2(a1,a2,a3));
sc.close();
}
public static int max1(int n1, int n2) {
return n1>n2? n1:n2;
}
public static int max2(int n1,int n2,int n3){
int m1=max1(n1,n2);
return max1(m1,n3);
}
}
运行结果:
2.奇数位于偶数之前
功能:调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序
代码:
public class test2 {
//调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9};
fac(arr);
}
public static void fac(int[] a) {
for (int i = 0; i < a.length-1; i++ ) { //遍历整个数组,搜寻遇到的第一个偶数
for (int j = 0;j < a.length-1-i;j++) { //将第一个遇到的偶数调到最后一位
if (a[j] % 2 == 0) {
int tem = a[j];
a[j] = a[j + 1];
a[j + 1] = tem;
}
}
}
System.out.print("调整后的数组为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] +" "); //将顺序调整后的数组打印
}
}
}
运行结果:
3.斐波那契数
要求:求斐波那契数列的第n项。(迭代实现)
补充:斐波那契数列(Fibonacci sequence)指的是这样一个数列:1、1、2、3、5、8、13、21、34 简单来说就是数列从第3项开始,每一项都等于前两项之和。运用迭代就可以很直观的求出来。
例如求第五项就要求出第三项和第四项而求第四项就要求出第三项和第二项…起始条件为第一项和第二项都为1
import java.util.Scanner;
public class 斐波那契数 {
public static void main (String args[]) {
Scanner scan = new Scanner(System.in);
System.out.print("输入要斐波那契数列的项:");
int a = scan.nextInt();
int b = fac(a);
System.out.print("斐波那契数列的第"+a+"项为:"+b);
scan.close();
}
public static int fac(int n) {
if (n <= 2) {
return 1; //斐波那契数列前两项均为1
}
else {
return (fac(n-1) + fac(n-2));
}
}
}
运行结果: