检查java数组中是否已使用某个数字

检查java数组中是否已使用某个数字,java,arrays,Java,Arrays,答复评论: 是的,我知道我什么也没找过。我不知道我为什么会在这里 不,我不需要你从我这里写代码,只要告诉我怎么做,我就可以学习了 我尝试了不同的东西,但不想把代码和不起作用的东西混在一起 问题:我需要检查输入之前是否使用过,如果没有,我想将其添加到数组中,如果没有,我想再次询问 Scanner keyboard = new Scanner(System.in); System.out.println("What's the length of the array?"); int lengde

答复评论: 是的,我知道我什么也没找过。我不知道我为什么会在这里 不,我不需要你从我这里写代码,只要告诉我怎么做,我就可以学习了 我尝试了不同的东西,但不想把代码和不起作用的东西混在一起

问题:我需要检查输入之前是否使用过,如果没有,我想将其添加到数组中,如果没有,我想再次询问

Scanner keyboard = new Scanner(System.in);

System.out.println("What's the length of the array?");
int lengde = keyboard.nextInt();                   
int[] myArray = new int[lengde]; 


for (int i = 0; i < lengde; i++) {
  System.out.println((i+1) + (" give a number"));
  int used = keyboard.nextInt(); 

  //if  used have been added before
   // System.out.println("pick a new number");

  //else // used have not been added before
    myArray[i] = used;

} 
for (int i : myArray)
  System.out.println(i);

keyboard.close();
扫描仪键盘=新扫描仪(System.in);
System.out.println(“数组的长度是多少?”);
int lengde=keyboard.nextInt();
int[]myArray=新int[lengde];
对于(int i=0;i
最简单的检查方法如下:

for (int i = 0; i < lengde; ) {
  int readInt = keyboard.nextInt();
  boolean found = false;
  for(int index=0; index < i; index++) {
    intFromArray = myArray[index]; // Get element from array
    if(readInt == intFromArray) {
      found = true; // Number already in array
      break;
    }
  }
  // Number not found in the array. Add it to the array.
  if(!found) {
    myArray[i] = readInt;
    i++;
  } else {
       System.out.println("Found in array. Try again...");
  }

}
for(int i=0;i
您可能只想允许一定次数的尝试,否则它将无限期地循环。

您也可以使用数组而不是基元数组。它提供了开箱即用的
#contains
方法,并将保留原始元素插入顺序

LinkedHashSet<Integer> collection = new LinkedHashSet<>();
for (int i = 0; i < lengde; ) {
  int readInt = keyboard.nextInt();
  boolean added = collection.add(readInt);
  if (!added) {
    System.out.println("Found in array. Try again...");
  }
}
LinkedHashSet集合=新建LinkedHashSet();
对于(int i=0;i
您没有检查号码是否已经存在。您正在将数字添加到数组中。您尝试过什么吗?例如在数组中搜索号码?是的,我知道我不检查号码是否存在,我不知道如何查找。这就是我来问她的,我们不是来为你写代码的。你至少得试试!仔细想想你要解决的问题,然后试一试。似乎出了什么问题,我仍然可以得到输出1,2,1?你使用了正确的代码还是修改了什么?我现在已经添加了从数组中检索数字的功能。我错过了。