Java基础练习九(方法)

求和

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

java 复制代码
public class Work1101 {
    public static void main(String[] args) {
        // 设计一个方法,用于计算整数的和
        System.out.println(sum(7, 6));
    }
    public static int sum(int a, int b) {
        return a + b;
    }
}

阶乘

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

java 复制代码
import java.util.Scanner;

public class Factorial1102 {
    public static int factorial(int a) {
        int product = 1;
        for (int j = 1; j <= a; j++) {
            product *= j;
        }
        return product;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();
        int result = factorial(input);
        System.out.println(input + " 的阶乘为:" + result);
    }
}

判断素数

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

java 复制代码
import java.util.Scanner;

public class IsPrimeNumber1103 {
    public static boolean isPrimeNumber(int n) {
        boolean flag = true;
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                flag = false;
                break;
            }
        }
        return flag;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数");
        int num = sc.nextInt();
        System.out.println(num + (isPrimeNumber(num) ? "是素数" : "不是素数"));
    }
}

翻转数组

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

java 复制代码
public class ArrayReverse {
    public static void reverseAndPrint(char[] arr) {
        int left = 0;
        int right = arr.length - 1;

        while (left < right) {
            char temp = arr[left];
            arr[left] = arr[right];
            arr[right] = temp;
            left++;
            right--;
        }

        System.out.println("翻转后的数组为:");
        for (char c : arr) {
            System.out.print(c);
        }
        System.out.println();
    }

    public static void main(String[] args) {
        char[] chars = {'H', 'e', 'l', 'l', 'o'};
        reverseAndPrint(chars);
    }
}

回文数

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

java 复制代码
public class Palindrome1105 {
    public static boolean isPalindrome(int num) {
        String numStr = Integer.toString(num);
        int right = numStr.length() - 1;
        int left = 0;
        while (left < right) {
            if (numStr.charAt(left) != numStr.charAt(right)) {
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
    public static void main(String[] args) {
        System.out.println(isPalindrome(1232));
    }
}

交换元素位置

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

java 复制代码
import java.util.Arrays;

public class Work1106 {
    public static void main(String[] args) {
        // 交换元素位置
        int[] arr = {1, 2, 3, 4, 5, 6, 7};
        PositionExchange(arr,1,5);
        System.out.println(Arrays.toString(arr));
    }
    public static int[] PositionExchange(int[] arr, int begin, int end) {
        if (begin >=0 && begin < arr.length && end >=0 && end <arr.length) {
            int temp = arr[begin];
            arr[begin] = arr[end];
            arr[end] = temp;

            return arr;
        } else {
            return null;
        }
    }
}

数组元素左移

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

java 复制代码
import java.util.Arrays;

public class LeftShift1107 {
    public static void leftshift(int[] arr, int k) {
        int[] arr1 = Arrays.copyOf(arr,arr.length);
        for (int i = 0; i < arr.length; i++) {
            if (i - k >= 0) {
                arr[i - k] = arr1[i];
            } else {
                arr[arr.length - k + i] = arr1[i];
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        leftshift(arr,3);
        System.out.println(Arrays.toString(arr));
    }
}
// 输出:[4, 5, 1, 2, 3]
相关推荐
2301_7657031415 小时前
C++中的职责链模式实战
开发语言·c++·算法
好好研究15 小时前
Spring Boot - Thymeleaf模板引擎
java·spring boot·后端·thymeleaf
爬山算法15 小时前
Hibernate(76)如何在混合持久化环境中使用Hibernate?
java·后端·hibernate
编程彩机15 小时前
互联网大厂Java面试:从分布式缓存到消息队列的技术场景解析
java·redis·面试·kafka·消息队列·微服务架构·分布式缓存
StandbyTime15 小时前
《算法笔记》学习记录-第一章
c++·算法·算法笔记
她说..15 小时前
策略模式+工厂模式实现单接口适配多审核节点
java·spring boot·后端·spring·简单工厂模式·策略模式
近津薪荼15 小时前
优选算法——双指针8(单调性)
数据结构·c++·学习·算法
格林威15 小时前
Baumer相机铆钉安装状态检测:判断铆接是否到位的 5 个核心算法,附 OpenCV+Halcon 的实战代码!
人工智能·opencv·算法·计算机视觉·视觉检测·工业相机·堡盟相机
坚持就完事了15 小时前
Java的OOP
java·开发语言
像少年啦飞驰点、16 小时前
零基础入门 Spring Boot:从“Hello World”到可部署微服务的完整学习路径
java·spring boot·微服务·编程入门·后端开发