本文最后更新于:星期四, 六月 18日 2020, 9:01 上午
java语言实现:
定义一个长度为10的int数组并全部赋值为0,对x用while循环求模,并将所得的模作为元素的下标,并将1赋值给该元素,那么下一次循环遇到有元素的下标不为0的时候,说明正好遇到了重复元素,那么出现了重复的数字
public class MainTest {
public static void main(String args[]) throws Exception {
checkRepeated(4564);
}
private static void checkRepeated(int x){
//初始化一个长度为10的数组并遍历赋值为0;
int[] a=new int[10];
for (int i:a){
i=0;
}
while (x>0){
int tmp=x%10;
//如果该元素的值是0,说明正常。
if (a[tmp]==0){
a[tmp]=1;
}else {
//如果该元素的值不是0,说明之前在同样的数组下标的地
//方改变了元素的值,也就是出现了同样的模,就是出现了相同的数字。
System.out.println("有相同的数字出现");
break;
}
//除以十,从个位开始一位一位往前排查
x=x/10;
}
if (x<=0){
System.out.println("没有相同的数字出现");
}
}
}