题目:
分析以下需求,并用代码实现
(1).创建两个长度为10的数组,数组内元素为随机生成的、不重复的 1-100之间的整数,
(2).定义一个方法,传入两个数组,函数中将两个数组不同的元素拼接成一个字符串,
并且将该字符串以及字符串的长度输出到控制台上;
如果没有则输出"对不起两个数组的所有元素均相同
代码:
import java.util.Random;
public static void main(String[] args) {
int[] arr = new int[10];
int[] arr1 = new int[10];
int[] a = renew(arr);
System.out.println("第一个数组:");
bianli(a);
int[] a1 = renew(arr1);
System.out.println("第二个数组:");
bianli(a1);
different(a,a1);//查找不同的元素
}
//判断是否相同并拼接成一个字符串输出
public static void different(int[] a,int[] b){
String str = "";
for (int i = 0; i < a.length; i++) {
if (chongfu(b,a[i]))
str+=a[i];//遍历,将a不重复的数据放入str中
}
for (int i = 0; i < b.length; i++) {
if(chongfu(a,b[i]))
str+=b[i];brr找与arr中不同的元素
}
if (str.length()<1)
System.out.println("对不起两个数组的所有元素均相同");
else
System.out.println(str+"\n字符串长度:"+str.length());
}
//随机生成并且赋值
public static int[] renew(int[] a) {
Random re = new Random();
for (int i = 0; i < 10; i++) {
//随机获取数据填入
int num = re.nextInt(100) + 1;
if (chongfu(a, num))
a[i] = num;//不相等则负值
else {
//相等则。指针回到上一个位置,舍弃当前相同数据
i--;
}
}
return a;
}
//检查输入的数据是否在数组内有相等的数据
public static boolean chongfu(int[] a, int num) {
int count = 0;
for (int i = 0; i < a.length; i++) {
if (a[i] == num) {
count++;//相等,计数器加一,并直接跳出
break;
}
}
if (count > 0)
return false;
else
return true;
}
//遍历输出数组
public static void bianli(int[] arr) {
System.out.print("[");
for (int i = 0;i<arr.length;i++) {
if (i==arr.length-1){
System.out.print(arr[i]+"]\n");
} else {
System.out.print(arr[i] + ",");
}
}
}