Je crée un programme qui servira de registre d'inscription, permettant à l'utilisateur d'ajouter et de supprimer des étudiants à un cours, de rechercher des étudiants, de rapporter des données sur les étudiants et de les sauvegarder dans un fichier. La raison pour laquelle je publie à nouveau sur le site est parce que ma méthode AddStudent()
ne semble pas maintenir une variable de nom d'étudiant. Par exemple, ma méthode de recherche cherche dans le tableau des étudiants où les données sont stockées et imprime les données des étudiants recherchés, ou du moins, quand vous ajoutez plus d'un étudiant, la variable name change pour celle de l'étudiant le plus récemment entré. chaque étudiant car il pense qu'ils ont tous les mêmes noms. Il le fait aussi pour ma méthode de sauvegarde, il enregistre les données de l'étudiant dans un fichier mais toutes avec le même nom, aucune des autres données n'est dupliquée. Jusqu'à présent, j'ai ceci:La méthode AddStudent() ne conserve pas de variable de nom
public static void AddStudent() {
String sName = null;
String dateOB = null;
String address = null;
String GENDER = null;
// create student object
Student studentToAdd = new Student(sName, dateOB, address, GENDER);
// read in name and update student
Scanner scanner = new Scanner(System.in);
System.out.println ("Type Student Name: ");
String name = scanner.nextLine();
Student.Name = name;
// read in and validate date of birth
Scanner scannerDOB = new Scanner (System.in);
System.out.println ("Type Student Date of Birth : ");
String dateOfBirth = scannerDOB.nextLine();
studentToAdd.DateOfBirth = dateOfBirth;
// read in address
Scanner scannerAdd = new Scanner (System.in);
System.out.println ("Type Student Address: ");
String address1 = scannerAdd.nextLine();
studentToAdd.Address = address1;
// read in gender - validate against you're constant?
Scanner scannerGen = new Scanner (System.in);
System.out.println ("Type Student Gender\n M for Male \n F for Female: ");
String gender = scannerGen.nextLine();
studentToAdd.Gender = gender;
// Add to the array in the last free location
Students [nextFreeLocation] = studentToAdd;
}
Où le tableau Students est-il défini et où le nextFreeLocation est-il défini? – CKing
Veuillez supprimer toute mention de délais, car cela n'a rien à voir avec la question elle-même, ce qui nous inquiète vraiment, et peut augmenter les votes négatifs sur votre question. En ce qui concerne votre code, je me demande si votre programme doit être restructuré, par exemple en créant une classe School avec un tableau Student [] non statique et une méthode non static 'public void addStudent (Student student)' n'a aucune interaction de l'utilisateur dedans. Le code d'interaction de l'utilisateur devrait aller ailleurs. –
Question éditée et les mentions de date limite ont été supprimées. –