当前位置 : 主页 > 编程语言 > java >

Java基础题新手练习(一)

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 找出出现一次的数字 源码 斐波那契数 源码 求阶乘和 源码 求 N 的阶乘 源码 奇数位于偶数之前 源码 求和的重载 源码 总结 找出出现一次的数字 有一组数据,只有一个数字是出现
目录
  • 找出出现一次的数字
    • 源码
  • 斐波那契数
    • 源码
  • 求阶乘和
    • 源码
  • 求 N 的阶乘
    • 源码
  • 奇数位于偶数之前
    • 源码
  • 求和的重载
    • 源码
  • 总结

    找出出现一次的数字

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

    源码

    public static int findNum(int arr []){
        int n=0;
        for(int i =0;i<arr.length;i++){
            n^=arr[i];
        }
        return n;
    }
    

    运行结果:

    在这里插入图片描述

    斐波那契数

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

    源码

    public  static int fibo(int n){
        if(n==1){
            return 0;
        }
        if(n==2){
            return 1;
        }
        int sum= 0;
        int a=0;
        int b=1;
        for (int i = 2; i <n; i++) {
            sum =a+b;
            a=b;
            b=sum;
        }
        return sum;
    }
    

    运行结果:

    }

    求阶乘和

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

    源码

    public  static int getSum(int n){
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            int ret = 1;
            for (int j = 1; j <= i; j++) {
                ret *= j; 
            }
            sum += ret;
        }
        return sum;
    }
    

    运行结果:

    在这里插入图片描述

    求 N 的阶乘

    源码

    import java.util.Scanner;
    public class Test {
        public static void main(String[] args) {
                  System.out.println("请输入N的值:");
                  Scanner scanner =new Scanner(System.in);
                  int n= scanner.nextInt();
                  System.out.println(function(n));
        }
        public  static int  function( int n){
            if(n==0){
                return 1;
            }
            else
                return n*function(n-1);
        }
    }
    

    运行结果:

    在这里插入图片描述

    奇数位于偶数之前

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

    源码

    public static  int[] sort(int arr[]){
        for (int i = 0; i < arr.length-1; i++ ) {
            for (int j = 0;j < arr.length-1-i;j++) {
                if (arr[j] % 2 == 0) {
                    int tem = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tem;
                }
            }
        }
       return arr;
    }
    

    运行结果:

    在这里插入图片描述

    求和的重载

    在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果

    源码

    public  static int getSum(int i, int j){
        return i+j;
    }
    public static double getSum(double i,double j,double k){
        return i+j+k;
    }
    

    运行结果:

    在这里插入图片描述

    总结

    本篇java基础练习题就到这里了,希望对你有所帮助,也希望您能够多多关注自由互联的更多内容!

    网友评论