java方法案例

求和

设计一个方法,用于计算整数的和


import java.util.Scanner;

/**
 * date:2023/8/11  19:06
 */
//设计一个方法,用于计算整数的和
public class MethodExercises1 {
    public static void main(String[] args) {
        int n1=input();
        int n2=input();
        int sum=sum(n1,n2);
        System.out.println("这两个数的和是"+sum);
    }
    public static int sum(int n1,int n2){
      return n1+n2;
    }
    public static int input(){
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int score = sc.nextInt();
        return score;
    }
}

阶乘

编写一个方法,接受一个正整数作为参数,并返回它的阶乘

import java.util.Scanner;

/**
 * date:2023/8/11  19:10
 */

public class MethodExercises2 {
    //编写一个方法,接受一个正整数作为参数,并返回它的阶乘
    public static void main(String[] args) {
        int n=input();
        System.out.println("这个数的阶乘是:"+ factorial(n));
    }
    public static int factorial(int n){
        int result=1;
        for (int i=1;i<=n;i++){
           result*=i;
        }
        return result;
    }
    public static int input(){
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int score = sc.nextInt();
        return score;
    }
}

判断素数

编写一个方法,接受一个整数作为参数,并判断它是否为素数(质数)

import java.util.Scanner;

/**
 * date:2023/8/11  19:27
 */

public class MethodExercises3 {
    //编写一个方法,接受一个整数作为参数,并判断它是否为素数(质数)
    public static void main(String[] args) {
        int n=input();
        suShu(n);
    }

    //判断一个数是否为素数
    public static void suShu(int num){
        int count = 0;
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                count++;
            }
        }
        if (count == 0) {
            System.out.println(num + "是素数");
        } else {
            System.out.println(num + "不是素数");
        }
    }
    public static int input(){
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int score = sc.nextInt();
        return score;
    }
}

翻转数组

编写一个方法,接受一个字符数组,将其翻转并输出。

import java.util.Arrays;

/**
 * date:2023/8/11  19:36
 */

public class MethodExercises4 {
    //编写一个方法,接受一个字符数组,将其翻转并输出。
    public static void main(String[] args) {
        char[] arr = {'a', 'b', 'c', 'd', 'e', 'f', 'g'};
        System.out.println("原数组"+Arrays.toString(arr));
        char[] array=array(arr);
        System.out.println("翻转后的数组"+Arrays.toString(array));
    }

    public static char[] array(char[] arr){
        char arr1[]=new char[arr.length];
        int j=0;
        for (int i=arr.length-1;i>=0;i--){
            arr1[j++]=arr[i];
        }
        return arr1;
    }
}

回文数

编写一个方法,接受一个整数作为参数,判断它是否为回文数(正着读和倒着读都一样)

import java.util.Scanner;

/**
 * date:2023/8/11  19:53
 */

public class MethodExercises5 {
    //编写一个方法,接受一个整数作为参数,判断它是否为回文数(正着读和倒着读都一样)
    public static void main(String[] args) {
        int n=input();
        System.out.println(huiWenShu(n));
    }
    public static boolean huiWenShu(int n){
        int w=0;
        int i=n,k=n;
        while(i>0){
            i= i/10;
            w++;
        }
        int t=0;
        for(int j=1;j<=w;j++){
            int s=n%10;
            n=n/10;
            t=t*10+s;

        }
        if (t==k){
            return true;
        }
        return false;
    }
    public static int input(){
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个数:");
        int score = sc.nextInt();
        return score;
    }
}

交换元素位置

编写一个方法,接受一个整数数组和两个索引作为参数,交换数组中指定索引位置的两个元素。

import javax.swing.*;
import java.lang.reflect.AccessibleObject;
import java.util.Arrays;

/**
 * date:2023/8/11  20:12
 */

public class MethodExercises6 {
    //编写一个方法,接受一个整数数组和两个索引作为参数,交换数组中指定索引位置的两个元素。
    public static void main(String[] args) {
        int[] arr = {2, 3, 1, 8, 5, 9, 6};
        System.out.println("原始数组");
        System.out.println(Arrays.toString(arr));
        int n1= 2;
        int n2= 5;
        int[] arr1=array(n1,n2,arr);
        System.out.println("交换第"+(n1+1)+"位和第"+(n2+1)+"位位置后的数组");
        System.out.println(Arrays.toString(arr1));
    }
    public static int[] array(int n1,int n2,int[] arr){
        for (int i = 0; i < arr.length; i++) {
            int temp =arr[n1];
            arr[n1]=arr[n2];
            arr[n2]=temp;
        }
        return arr;
    }
}

数组元素左移

编写一个方法,接受一个整数数组和一个正整数 k 作为参数,将数组中的元素左移 k 个位置。


import java.util.Arrays;

/**
 * date:2023/8/11  20:24
 */

public class MethodExercises7 {
    //编写一个方法,接受一个整数数组和一个正整数 k 作为参数,将数组中的元素左移 k 个位置。
    public static void main(String[] args) {
//        int[] arr = {2, 3, 1, 8, 5, 9, 6};
//        int k=2;
//        int[] arr1=array(k,arr);
//        System.out.println(Arrays.toString(arr1));


   //方法一降低时间复杂度
        int[] nums = {1, 2, 3, 4, 5, 6, 7};
        rotateLeft(nums, 2);
        for (int num : nums) {
            System.out.print(num + " ");
        }
    }
        //降低时间复杂度
        public static void rotateLeft(int[] nums, int k){
            if (nums == null || nums.length <= 1 || k <= 0) {
                return; // 检查输入是否有效
            }
            int n = nums.length;
            k = k % n; // 保证 k 在 0 到 n-1 之间

            int[] temp = new int[k];
            // 保存前 k 个元素
            System.arraycopy(nums, 0, temp, 0, k);
            // 将后面的元素移动到前面
            System.arraycopy(nums, k, nums, 0, n - k);
            // 将临时数组中保存的元素复制到数组的尾部
            System.arraycopy(temp, 0, nums, n - k, k);
        }

   //方法2

    public static int[] array(int k,int[] arr){
        for (int i = 0; i < k; i++) {
            int num=arr[0];
            for (int j=1;j<arr.length;j++){
                arr[j-1]=arr[j];
            }
            arr[arr.length-1]=num;
        }
        return arr;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值