java-方法的创建和调用(练习题)

1、创建方法求两个数的最大值max2,随后再写一个求3个数的最大值的函数max3。
​ 要求:在max3这个函数中,调用max2函数,来实现3个数的最大值计算。

package gyy;
import java.util.Scanner;
public class yinger{
 public static void main(String[] agrs) {
  Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=sc.nextInt();
        int max=Max3(a, b,c);
        System.out.println(max);
 }
 public  static int Max2(int a,int b) {
        int max2;
        if(a>b){
            max2=a;
        }else{
            max2=b;
        }
        return max2;
}
public static int Max3(int a,int b,int c){
    int max3;
   int max2=Max2(a,b);
   if(max2>c){
       max3=max2;
   }else{
       max3=c;
   }
   return max3;
}
}

运行结果:

77
88
99
99

2、调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。

package gyy;
public class yinger{
 public static void main(String[] agrs) {  
  int []arr={1,2,3,4,5,6,7,8,9,10};
  int i;
  int j;
  for(i=0;i<10;i++){
      for(j=i+1;j<10;j++){
      if(arr[j]%2!=0){
          int tmp=arr[j];
          arr[j]=arr[i];
          arr[i]=tmp;
      }
  } 
  System.out.print(arr[i]+" ");
  }
 }
}
 

运行结果:

9 7 5 3 1 6 4 8 2 10

3、求 N 的阶乘 。

package gyy;
import java.util.Scanner;
public class yinger{
 public static void main(String[] agrs) {  
  int sum=1;
  System.out.println("Factor number: ");
  Scanner sc=new Scanner(System.in);
  int num=sc.nextInt();
  for(int i=1;i<=num;i++) {
   sum=sum*i;
  }
  System.out.print(num+"!="+sum);
 }
}
 

运行结果:

Factor number: 
5
5!=120

3、求1!+2!+3!+4!+…+n!的和

package gyy;
import java.util.Scanner;
public class yinger{
 public static void main(String[] agrs) {  
 System.out.println("请输入求几以内的阶乘和: ");
 Scanner sc=new Scanner(System.in);
 int n=sc.nextInt();
 int sum=1;
 int result=0;
 for(int i=1;i<=n;i++) {
  sum=sum*i;
  result=result+sum;
 }
 System.out.println(result);
 sc.close();
 }
}

4、求斐波那契数列的第n项。(迭代实现)

package shuaizai;
public class First {
    
    
	public static int  fib(int n) {
    
    
		if(n==1|| n==2) {
    
    
			return 1;
		}
		return fib(n-1)+fib(n-2);
	}
	public static void main(String[] args) {
    
    
		int ret=fib(7);
		System.out.println(ret);
	}
}

运行结果:

3
9

5、有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。

package gyy;
public class yinger{
 public static void main(String[] agrs) {  
  int []arr={1,1,2,2,4,3,4,5,5};
        int i=0;
        int j=0;
        int count;
        for(i=0;i<9;i++){
            count =0;
            for(j=0;j<9;j++){
                if(arr[i]==arr[j])
                    count ++;
                
            }if(count==1){
                System.out.println(arr[i]);
            }
        }
 }
}

运行结果:`

扫描二维码关注公众号,回复: 12467772 查看本文章
3

猜你喜欢

转载自blog.csdn.net/weixin_44378053/article/details/103771147