java小题目,输入两个数组,合并,排序

1、编写程序将两个各有若干个整数的数组(未排序),数组长度从键盘输入,合并成一个由小至大排列的数组。
本题至少用三种方法实现:
(1)先合并后排序
(2)先分别排序后合并

package test; import java.util.Arrays;import java.util.Comparator; public class JButtonTest{ public static void main ( String[] args ) { int[] arr1 = { 3, 1, 23 }; int[] arr2 = { 27, 7, 2 }; String temp = Arrays.toString (arr1) + Arrays.toString (arr2); temp = temp.replaceAll ("\\]\\[", ",").replaceAll ("\\s", "").replaceAll ("[\\[\\]]", ""); String[] result = temp.split ("\\,"); System.out.println (Arrays.toString (result)); Arrays.sort (result, new Comparator<String> () { @Override public int compare ( String o1, String o2 ) { int a = Integer.parseInt (o1), b = Integer.parseInt (o2); if (a > b) { return 1; } else if (a < b) { return -1; } else { return 0; } } }); System.out.println (Arrays.toString (result)); }}
温馨提示:内容为网友见解,仅供参考
无其他回答

两个数组怎么合并到一起
首先,你可以使用直接复制的方式,就像示例代码中的getOneArray()方法那样。这个方法首先创建一个新数组c,然后遍历第一个数组a并将元素依次复制到c,接着遍历第二个数组b,将元素添加到数组c的剩余位置。这样,两个数组的内容就被合并到一起了。另一种方法是使用List,如getTwoArray()所示。首先将数...

用java把两个有序的数组合并为一个有序的数组,帮我把程序看下哪里出错了...
首先是while (adex<=a.length&&bdex<=b.length) 这里adex超出a的大小了,bdex也是,不应该有=, 第二个问题是,a或b没全部放进c时,你的逻辑错了,应该下面这样做就没问题了,自己琢磨琢磨吧 private int[] hebing(int a[], int b[]) { int c[] = new int[a.length + b.length];...

JAVA程序。。。定义两个数组,首先把两个数组合并成一个数组,然后把新数...
public static void main(String[] args) {Integer[] a = { 45, 9, 8 };Integer[] b = { 3, 6, 5, 9 };Integer[] result = new Integer[a.length + b.length];System.arraycopy(a, 0, result, 0, a.length);System.arraycopy(b, 0, result, a.length, b.length);\/\/自定...

java怎么将2个数组的数据合并?
concat()方法是对字符串的操作,不是对整数或数组。concat()用法:String a="abc";String b="edf";String c=a.concat(b);c的值为“abcdef"数组可以用for循环合并:public static void main(String[] args){ int a[]={1,7,9,11,13,15,17,19};int b[]={2,4,6,8,10};int aL=a...

java如何将两个元素个数不同的一维数组合并成一个从小到大排列的数组...
public static void main(String[] args) { int a[]={4,5,6,7,2,4,56,7};int b[]={4545,14,9,3,67};int c[]=Merger(a, b);Sorting(c);for (int i : c) { System.out.print(i+" ");} } \/\/合并 public static int[] Merger(int[] a,int[] b){ int c[]=new ...

java编写合并两个数组,{1,2,3,4,5} {4,5,6,7,8}
import java.util.Arrays;public class Combine{ public static void main(String[] args){ int a[]={1,2,3,4,5};int b[]={4,5,6,7,8};int temp[]=new int[a.length+b.length];\/\/连接两个数组 for(int i=0;i<a.length;i++){ temp[i]=a[i];} for(int i=0;i<b....

java中怎么合并两个数组 简单明了的
0, arr_target, arr1.length, arr2.length);\/\/输出合并后数组for (int i : arr_target) {System.out.println(i);}\/\/排序Arrays.sort(arr_target);\/\/输出排序数组for (int i : arr_target) {System.out.println(i);}\/\/逆序int[] arr_reverse = new int[newLength];int flag = 0;fo...

合并两个有序数组
最朴素的解法就是将两个数组合并之后再排序。该算法只需要一行(Java是2行),时间复杂度较差,为O((n+m)log(n+m))。这是由于这种方法没有利用两个数组本身已经有序这一点。实现 复杂度分析 直觉 一般而言,对于有序数组可以通过 双指针法 达到O(n+m)的时间复杂度。最直接的算法实现是将指针p1...

java怎么把两个从小到大排序的一维数组合并成一个从小到大排序的一维...
public static void main(String[]args){ \/\/创建数组 String[] a = { "0", "3", "2", "1" };String[] b = { "8", "7", "6", "5", "4" };String[] c = new String[a.length + b.length];\/\/复制数据 System.arraycopy(a, 0, c, 0, a.length);System.arraycopy(...

我是Java新手 问一下怎么把两个数组组合到一个数组里面?
1", "2" };String b[] = { "3", "4" };List aa = Arrays.asList(a);List bb = Arrays.asList(b);List cc = new ArrayList();cc.addAll(aa);cc.addAll(bb);Object c[] = cc.toArray();for (int i = 0; i < c.length; i++) { System.out.println(c[i]);} ...

相似回答