当前位置:编程学习 > JAVA >>

java数组~~~~~初学者跪求求高手指点迷津~~~~十万火急啊~~~

已知A数组,B数组,定义一个数组C,要求C包含A,B数组中的数据(无重复值)。 --------------------编程问答-------------------- 求完整代码~~~ --------------------编程问答-------------------- 楼主想要干什么 写一个方法吗 --------------------编程问答-------------------- 数组多大  没有重复值是什么意思   --------------------编程问答--------------------
public class TestString {
public static void main(String[] args) {
int[] A = {1,3,5,7,8};
int[] B = {2,4,6,8,10};
int[] C = new int[10];
for(int i=0;i<5;i++){
C[i]=A[i];
}
for(int i=0;i<5;i++){
C[i+5]=B[i];
}
for(int i=0;i<10;i++){
System.out.println(C[i]);
}
}
}


这样行吗 --------------------编程问答-------------------- 粗略的用容器实现了一下,供楼主参考.(以 整形数组为例写的)

public static int[] TwoArrays(int[] a,int[] b)
{
int [] c; //定义一个整形数组
Set<Integer> set=new HashSet<Integer>(); //定义一个容器。
for(int i=0;i<a.length;i++) //数组a 放入容器。
{
set.add(new Integer(a[i]));
}
for(int i=0;i<b.length;i++) //数组b 放入容器
{
set.add(new Integer(b[i]));
}
Object[] setIn=set.toArray(); //把容器内容放入数组。
c=new int[setIn.length]; //初始化数组c.
for(int i=0;i<c.length;i++)                     //把Integer变成int.
{
c[i]=((Integer)setIn[i]).intValue();
}
return c;                                        //返回调用者。
}
--------------------编程问答--------------------
引用 4 楼  的回复:
public class TestString {
public static void main(String[] args) {
int[] A = {1,3,5,7,8};
int[] B = {2,4,6,8,10};
int[] C = new int[10];
for(int i=0;i<5;i++){
C[i]=A[i];
}
f……
还是不行啊  还是有重复的元素啊 --------------------编程问答--------------------
引用 5 楼  的回复:
粗略的用容器实现了一下,供楼主参考.(以 整形数组为例写的)
Java code

public static int[] TwoArrays(int[] a,int[] b)
{
    int [] c;                    //定义一个整形数组
    Set<Integer> set=new HashSet<Integer>();    //定义一个容器。
    ……

能不能不用容器,还没学到容器,完全用数组操作行吗~~ --------------------编程问答--------------------


public class Test{

public static void main(String[] args) {
int[] A = { 1, 3, 3, 5, 8 };
int[] B = { 2, 5, 6, 8, 10};

int[] mergeArray=mergeWithoutRepeat(A,B);
System.out.println("merage length:"+mergeArray.length+".");
for (int i = 0; i < mergeArray.length; i++) {
System.out.print("mergeArray["+i+"]="+mergeArray[i]+";");
}
}

public static int[] mergeWithoutRepeat(int[] aArray,int[] bArray){
int[] temp=new int[aArray.length+bArray.length];
int length=0;
for (int i = 0; i < aArray.length; i++) {
if(!isRepeat(aArray[i],temp,length)){
temp[length]=aArray[i];
length++;
}
}
for (int i = 0; i < bArray.length; i++) {
if(!isRepeat(bArray[i],temp,length)){
temp[length]=bArray[i];
length++;
}
}

int[] resArray=new int[length];
for (int i = 0; i < length; i++) {
resArray[i]=temp[i];
}
return resArray;
}

private static boolean isRepeat(int value,int[] array,int length){
for (int i = 0; i <length; i++) {
if(value==array[i]){
return true;
}
}
return false;
}
}




结果:
merage length:7.
mergeArray[0]=1;mergeArray[1]=3;mergeArray[2]=5;mergeArray[3]=8;mergeArray[4]=2;mergeArray[5]=6;mergeArray[6]=10; --------------------编程问答--------------------

public class B {

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
      int[] A={1,2,3,4,5};
      int[] B={2,4,6,8,10};
      int[] C=new int[10];
      int i=0;
     for(int a:A){
     C[i]=a;
      i++;
       }
      for(int a:B ){
       int temp=0;
       for(int b:A){ 
       if(a!=b) {
       temp++;
       }
       if(temp==A.length){
       C[i]=a;
              i++;
       }
       }
       
      }
      for(int a:C){
       System.out.print(a+","); 
      }
}

}
--------------------编程问答--------------------
引用 8 楼  的回复:
Java code


public class Test{
    
    public static void main(String[] args) {
        int[] A = { 1, 3, 3, 5, 8 };
        int[] B = { 2, 5, 6, 8, 10};
        
        int[] mergeArray=mergeWith……

这个不错1
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,