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; //返回调用者。
}
能不能不用容器,还没学到容器,完全用数组操作行吗~~ --------------------编程问答--------------------
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+",");
}
}
}
这个不错1
补充:Java , Java相关