Как обработать ошибку дублирующего идентификатора студента в массиве - PullRequest
0 голосов
/ 08 февраля 2020

Пожалуйста, помогите мне понять, как я могу предотвратить вставку учащегося, если есть дубликат ID. Я пытаюсь понять, как ничего не импортировать, хотя я не против, чтобы вы поделились чем-то, что у вас есть, чтобы я мог учиться. Спасибо

Я пытался зацикливаться на каждом объекте и проверять studentArray.getID (), если он совпадает, но я не могу получить правильный вывод. Я также попытался сохранить каждый идентификатор в другом массиве и сравнить оба массива, хотя я думаю, что должен использовать nested для l oop, и это сломало весь мой код. Я также не мог понять, как я могу просто установить ID в 1, а затем добавить 1 к максимуму 10, поскольку studentArray [10] равен 10. Так что этот код - самый чистый, который я мог предоставить.

int size = studentArray.length;
System.out.print("Insert Student ID: ");
int ID = sc.nextInt();
System.out.print("Insert Student Name: ");
String name = sc.next();
System.out.print("Insert Student Age: ");
int age = sc.nextInt();
Student student1 = new Student(name,age,ID);
studentArray[size] = student1;
size++;
System.out.print("\nStudent Inserted!\n");

1 Ответ

0 голосов
/ 08 февраля 2020

Теперь, поскольку вы не должны использовать коллекции, вы можете перебирать ваш studentArray , чтобы проверить, присутствует ли текущий идентификатор в массиве. Если его нет, вставьте, иначе пропустите его. Может помочь следующий фрагмент кода:

 int size = studentArray.length;
 System.out.print("Insert Student ID: ");
 int ID = sc.nextInt();
 System.out.print("Insert Student Name: ");
 String name = sc.next();
 System.out.print("Insert Student Age: ");
 int age = sc.nextInt();
 int i=0
 for(;i<size;i++){
 if(studentArray[i].ID==ID)
   break;
    }
 if(i==size){
 Student student1 = new Student(name,age,ID);    
 studentArray[size] = student1;
 size++;
 System.out.print("\nStudent Inserted!\n");
  }
 else{
  System.out.print("\nStudent with the given ID is already present in the array!\n");
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...