1.创建两个长度为10的数组,数组内元素为随机生成的、不重复的 1-100之间的整数。
2.定义一个方法,传入两个数组,方法中将两个数组不同的元素拼接成一个字符串,并且将该字符串以及字符串的长度输出到控制台上;
如果没有则输出"对不起两个数组的所有元素均相同"
package it;
import java.util.Random;
public class Test1 {
public static void main(String[] args) {
int[] arr1 =new int[10];
int[] arr2 =new int[10];
Random r = new Random();
//当循环完成后arr1就回打印完,若果存在"0"则说明数组中存在重复数据
System.out.println("打印arr1");
//随机生成10个不重复的数,存入数组arr1
for (int i = 0; i < arr1.length; i++) {
int c = r.nextInt(100) + 1;
//定义一个boolean 因为新生成的数与数组中的比较只有两种可能
//先假设数组中没有这个数
boolean falg = true;
for (int j = 0; j < arr1.length; j++) {
//循环判断数组中是否有这个值,若果有 让falg变成false
if (c == arr1[j]) {
falg = false;
}
}
//如果falg == true 则证明数组中没有这个数
if (falg == true) {
//把c 赋值给数组arr1
arr1[i] = c;
}
System.out.print(arr1[i]+" ");
}
System.out.println();
//当循环完成后arr2就回打印完,若果存在"0"则说明数组中存在重复数据
System.out.println("打印arr2");
//随机生成10个不重复的数,存入数组arr1
for (int i = 0; i < arr2.length; i++) {
int c = r.nextInt(100) + 1;
//定义一个boolean 因为新生成的数与数组中的比较只有两种可能
//先假设数组中没有这个数
boolean falg = true;
for (int j = 0; j < arr2.length; j++) {
//循环判断数组中是否有这个值,若果有 让falg变成false
if (c == arr2[j]) {
falg = false;
}
}
//如果falg == true 则证明数组中没有这个数
if (falg == true) {
//把c 赋值给数组arr1
arr2[i] = c;
}
System.out.print(arr2[i]+" ");
}
System.out.println();
//调用方法
String zong = getShu(arr1,arr2);
if(zong.length() == 0){
System.out.println("对不起两个数组的所有元素均相同");
}else {
System.out.println("字符串的长度:"+zong.length());
System.out.println("字符串:"+zong);
}
}
private static String getShu(int[] arr1, int[] arr2) {
//定义两个String类型的数用来计算arr1与arr2组成的字符串
String s1 = "";
String s2 = "";
//定义一个值为-1的用作统计arr1与arr2中重复的数
int index1 = -1;
int index2 =- 1;
for (int i = 0; i < arr1.length; i++) {
for (int n = 0; n < arr1.length; n++) {
//得到重复的数所在地索引
for (int j = 0; j < arr2.length; j++) {
if(arr1[i] == arr2[j]){
index1 = i;
}
}
for (int k = 0; k < arr2.length; k++) {
if(arr2[i] == arr1[k]){
index2 = i;
}
}
}
//当数组的值为"0"和重复的数所在地索引时跳过本次循环
if(arr1[i] == 0 || index1 == i ||index2 == i || arr2[i] ==0){
//此时仍要在此判断
if(arr1[i] == 0 || index1 == i ){
//如果不满足下面条件,s2仍要记录arr2[i]的值
if(index2 == i || arr2[i] ==0){
continue;
}else {
s2 += arr2[i];
}
}
//此时仍要在此判断
if(index2 == i || arr2[i] ==0){
//如果不满足下面条件,s1仍要记录arr1[i]的值
if(arr1[i] == 0 || index1 == i){
continue;
}else {
s1 += arr1[i];
}
}
continue;
}
//字符串拼接
s1 += arr1[i];
s2 += arr2[i];
}
String zong = s1 + s2;
return zong;
}
}