Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;

这篇博客展示了如何在Java中实现字符串数组的逆序排序,以及如何找到两个整数数组的交集和浮点型数组的并集。通过具体的代码实现,解释了字符串的逆序方法,利用双层循环找出整数数组的交集,以及借助HashSet获取浮点型数组的并集。这些方法有助于理解Java中数组和集合的操作。
摘要由CSDN通过智能技术生成

目录

一、实现两个字符串数组的逆序排序,输出结果为字符串数组

解题思路:

具体代码:

运行截图:

二、求两个整形数组的交集

具体代码:

运行截图:

三、求两个浮点型数组的并集

解题思路:

具体代码:

运行截图:

总具体代码


一、实现两个字符串数组的逆序排序,输出结果为字符串数组

解题思路:

定义一个方法,接受字符串类型的参数,首先利用lengrh()求出字符串的长度,然后利用toCharArray()方法将字符串转化为数组,再利用for循环,对字符数组进行逆序,最后利用valueof()将字符数组变回字符串。

具体代码:

//字符串逆序
String arr1="你是年少的欢喜";
String arr2="你是心中的爱恋";
System.out.println(stringReverse(arr1));
System.out.println(stringReverse(arr2));

public static String stringReverse(String arr){
    int len=arr.length();//字符串的长度
    char[] c =arr.toCharArray();//将字符串转化为字符数组
    for(int i=0;i<len/2;i++){//对字符数组进行逆序
        char tmp=c[i];
        c[i]=c[len-i-1];
        c[len-i-1]=tmp;
    }
    return String.valueOf(c);//将字符数组转回字符串并返回
}

运行截图:

  

二、求两个整形数组的交集

解题思路:

利用两个for循环,外层循环遍历第一个数组,内层循环遍历第二个数组,内部判断两个元素是否相同,相同则输出。

具体代码:

//求整形数组的交集
int[] arr3={2,3,7,8,1};
int[] arr4={1,4,6,8,2};
intersection(arr3,arr4);

public static void intersection(int[] arr3,int[] arr4){
    for (int i :arr3)//遍历第一个数组
        for (int j :arr4) {//遍历第二个数组
            if (i==j) {//对比是否存在相同元素,存在则输出
                System.out.println(i);
                break;
            }
        }
}

运行截图:

 

三、求两个浮点型数组的并集

解题思路:

利用集合的特性:元素无序且不能重复。通过向第一个集合中添加第二个集合的元素,最终求得并集。

具体代码:

//求浮点型数组的并集
Double[] arr5= {2.1, 3.5, 1.4, 6.4, 7.3};
Double[] arr6= {1.3, 6.4, 3.2, 5.5, 1.5};
System.out.println(Arrays.toString(union(arr5, arr6)));

public static Double[] union(Double[] arr5, Double[] arr6){
    Set<Double> set1 = new HashSet<>(Arrays.asList(arr5));//转换为浮点型集合
    Set<Double> set2 = new HashSet<>(Arrays.asList(arr6));

    set1.addAll(set2);//两个集合元素合并,集合要求没有重复元素
    Double[] arr = {};
    return set1.toArray(arr);//返回时将集合转为数组
}

运行截图:

总具体代码

import java.util.Set;
import java.util.Arrays;
import java.util.HashSet;

public class Array {
    public static void main(String[] args) {
        //字符串逆序
        String arr1="你是年少的欢喜";
        String arr2="你是心中的爱恋";
        System.out.println(stringReverse(arr1));
        System.out.println(stringReverse(arr2));

        //求整形数组的交集
        int[] arr3={2,3,7,8,1};
        int[] arr4={1,4,6,8,2};
        intersection(arr3,arr4);

        //求浮点型数组的并集
        Double[] arr5= {2.1, 3.5, 1.4, 6.4, 7.3};
        Double[] arr6= {1.3, 6.4, 3.2, 5.5, 1.5};
        System.out.println(Arrays.toString(union(arr5, arr6)));
    }

    public static Double[] union(Double[] arr5, Double[] arr6){
        Set<Double> set1 = new HashSet<>(Arrays.asList(arr5));//转换为浮点型集合
        Set<Double> set2 = new HashSet<>(Arrays.asList(arr6));

        set1.addAll(set2);//两个集合元素合并,集合要求没有重复元素
        Double[] arr = {};
        return set1.toArray(arr);//返回时将集合转为数组
    }

    public static void intersection(int[] arr3,int[] arr4){
        for (int i :arr3)//遍历第一个数组
            for (int j :arr4) {//遍历第二个数组
                if (i==j) {//对比是否存在相同元素,存在则输出
                    System.out.println(i);
                    break;
                }
            }
    }

    public static String stringReverse(String arr){
        int len=arr.length();//字符串的长度
        char[] c =arr.toCharArray();//将字符串转化为字符数组
        for(int i=0;i<len/2;i++){//对字符数组进行逆序
            char tmp=c[i];
            c[i]=c[len-i-1];
            c[len-i-1]=tmp;
        }
        return String.valueOf(c);//将字符数组转回字符串并返回
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值