比如输入1(存入数组),再输入2(存入数组),再输入1就会提示你出现重复,要求重新输入
请各位多多指点
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] strArr = new String[10];
boolean flag = true; // 判断是否重复 true不重复 false 重复
int len = 0;
while (len < strArr.length) { // 小于数组的长度一直循环
String next = input.next();
for (int i = 0; i < strArr.length; i++) {
if (next.equals(strArr[i])) {
flag = false;
System.out.println("请重新输入");
}
}
if (flag) {
strArr[len] = next;
len++; // 每次不重复就+1
}
flag = true;
}
}
两种方式,第一种将数组转成集合,然后使用集合的contains方法,第二种就是使用for循环遍历元素进行比较
第一种转成集合案例
String[] strArr = new String[] { "a", "b", "c"};
String str = "c";
List<String> list = Arrays.asList(strArr);
boolean result = list.contains(str);
System.out.println(result); // true
第二种使用遍历的方式
String[] strArr = new String[] { "a", "b", "c" };
String str = "c";
for (int i = 0; i < strArr.length; i++) {
if (strArr[i].equals(str)) {
System.out.println("该元素在数组中: i=" + i); // 该元素在数组中: i=2
}
}
循环下现有的数组,看有没有一个值和当前的值相等