思路如下:
1000个数字只有两个相同的数字,那就是说把数组排序后,这两个数一定相邻。通过排序算法进行排序,在循环判断相邻的数即可。
//用户输入 Scanner sn=new Scanner(System.in); //创建一个1000长度的int数组 int[] pp =new int[1000]; //给这个1000长度的int数组赋值 for (int i = 0; i <pp.length; i++) { //赋值1到1000 pp[i]=i+1; } //最后的数随机输入,且是在[0,999]的范围 pp[999]=sn.nextInt(); //调用java封装好的排序方法 Arrays.sort(pp); //从0排序到999 for (int i = 0; i <pp.length; i++) { //从i排序到999 for (int j =i+1; j <pp.length; j++) { //相等则输出这个数并结束循环 if(pp[i]==pp[j]) { System.out.println("相同的数:"+pp[i]); break; } } }