程序员进来,一个很简单的问题

我现在有一个需求:我要往int数组中存入100个整数,不许有重复。细节:1.程序执行控制台输出一句话:请输入一个整数。2.我输入一个整数3,然后程序继续执行,在数组中寻找有没有3,如果没有,则存入并输出3已存入数组中。如果找到了3,则输出3已存入过,不在保存。3.当执行了上述代码后问:是否继续?输入Y继续。对了,要求从数组第一个元素开始存。arr[0] = i;
2026年09月25日 18:32
有3个网友回答
网友(1):

代码上传后排版会混乱,所以代码截图:

代码如下:

		int []arr = new int[100];
int f =0;
String data;
Scanner scanner = new Scanner(System.in);
while(f<100){
int num=0;
System.out.println("是否继续?输入Y继续;");
data=scanner.nextLine();
if(!data.equals("Y")){
break;
}else {
System.out.println("请输入数据:");
data=scanner.nextLine();
try {
num = Integer.valueOf(data);
} catch (Exception e) {
System.out.println("输入非法");
continue;
}
arr[f]=num;
for(int i=0;i if(num==arr[i]){
f--;
System.out.println(num+"已经存在!");
continue;
}
}
f++;
}
}

网友(2):

import java.util.Scanner;

public class Demo {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] a = new int[100];
int count=0;
for(int i=0;;i++){
int tmp= s.nextInt();

for(int j=0;j if(a[j]==tmp){
System.out.println(tmp+" 在数组中已经存在,不再保存");
}

}
a[count]=tmp;
count++;
System.out.println("是否继续?输入Y继续");

if(s.next().equalsIgnoreCase("Y") && count !=100)
continue;
else
break;

}

for(int i=0;i System.out.print(a[i]+" ");
}
}

网友(3):

查找数组当中是否有重复的,可以直接遍历,或者使用集合类来保存。