На данный вопрос уже ответили:
Написать class Student
, в мейне создать Сет и заполнить его Студентами.
Используя Scanner
, Iterator
создать возможность удаления элементов Сета введеным именем в консоле, после чего вывести на экран без удаленного элемента
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class Program {
public static void main(String[] args) {
Set<Student> students = new HashSet<>();
students.add(new Student("Anton", 33, "Male", 88.3));
students.add(new Student("Ira", 21, "Female", 38.3));
students.add(new Student("Petro", 27, "Male", 46.3));
Scanner scan = new Scanner(System.in);
System.out.println("Enter who: ");
String fromUser = scan.next();
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
Student next = iterator.next();
if (next.getName() == fromUser) {
iterator.remove();
}
}
for (Student student : students) {
System.out.println(student);
}
}
}
Замените
if (next.getName() == fromUser) {
на
if (next.getName().equals(fromUser)) {
class Student {
private String name;
Student(String name, int age, String sex, double weight) {
this.name = name;
// ...
}
String getName() {
return this.name;
}
@Override
public String toString() {
return String.format("Student <'%s'>", name);
}
}
// ...
public static void main(String[] args) {
Set<Student> students = new HashSet<>();
students.add(new Student("Anton", 33, "Male", 88.3));
students.add(new Student("Ira", 21, "Female", 38.3));
students.add(new Student("Petro", 27, "Male", 46.3));
Scanner scan = new Scanner(System.in);
System.out.print("Enter who: ");
String fromUser = scan.next();
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
Student next = iterator.next();
if (next.getName().equals(fromUser)) {
iterator.remove();
}
}
for (Student student : students) {
System.out.println(student);
}
}
Консоль:
Enter who: Ira
Student <'Anton'>
Student <'Petro'>
PS.
Начиная с java 8, цикл с итератором можно заменить на эту конструкцию:
students.removeIf(next -> next.getName().equals(fromUser));
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Недавно начал изучать AndroidДелаю приложение, которое удаляет файлы из своей корневой папки
Имеется видео на компьютере нужно добавить постер выше плеера, так же отдельно есть чёрный экран и кнопкаПри нажатии на оранжевую кнопку...
Совсем замучился с математикой, уже начинаю просто гадать( Нужно сделать галерею, типа masonry или justifeid, только без js, и горизонтальную