方法1:
public class Test {
public static void main(String[] args) {
// 测试数据
int[] a = {1,3,4,2,1,8,5,2,8};
// 遍历数组,挨个对比是否数字是否重复
for (int i = 0;i<a.length;i++){
for (int j = i+1;j<a.length;j++){
if (a[i] == a[j]){
System.out.println("有重复数字");
return;
}
}
}
// 如果有重复数字,return执行后不会到这里了,到了这里,说明没有重复数字
System.out.println("没有重复数字");
}
}
解释:
和下一位比较,保证不会重复
方法2:
public class Test {
public static void main(String[] args) {
// 测试数据
int[] a = {1,3,4,2,1,8,5,2,8};
// 遍历数组,挨个对比是否数字是否重复
for (int i = 0;i<a.length;i++){
for (int j = 0;j<a.length;j++){
if (i!=j && a[i] == a[j]){
System.out.println("有重复数字");
return;
}
}
}
// 如果有重复数字,return执行后不会到这里了,到了这里,说明没有重复数字
System.out.println("没有重复数字");
}
}
解释:
通过i!=j
排除同一个数的情况
方法3:
public class Test {
public static void main(String[] args) {
// 测试数据
int[] a = {1, 3, 4, 2, 1, 8, 5, 2, 8};
// 把数组中的数字放在set集合中,当然不包括重复的
Set<Integer> set = new HashSet<>();
// 遍历数组
for (int i : a){
if (!set.add(i)){
System.out.println("有重复数字");
return;
}
}
// 如果有重复数字,return执行后不会到这里了,到了这里,说明没有重复数字
System.out.println("没有重复数字");
}
}
解释:
利用了set集合的不重复性
方法4:
public class Test {
public static void main(String[] args) {
// 测试数据
int[] a = {1, 3, 4, 2, 1, 8, 5, 2, 8};
// 把数组中的数字放在set集合中,当然不包括重复的
Set<Integer> set = new HashSet<>();
// 遍历数组中所有的数据
for (int i : a){
set.add(i);
}
if (a.length>set.size()){
System.out.println("有重复数字");
} else{
System.out.println("没有重复数字");
}
}
}
解释:
利用了set集合的不重复性