Member 14741782 Ответов: 1

Как отобразить объект по определенной переменной в java


Это моя программа, я заставляю людей использовать объект с определенной информацией. Пользователю необходимо написать класс ( clasa на моем языке) и отобразить имя и фамилию учащихся ( nume и prenume на моем языке)
import java.util.*;

class Date_personale {
	String nume;
	String prenume;
	String idnp;
	String telefon;
	String email;

	public Date_personale(String nume,String prenume,String idnp, String telefon, String email)
    {
       this.nume = nume;
       this.prenume = prenume;
       this.idnp = idnp;
       this.telefon = telefon;
       this.email = email;
    }

	void afisare() {
		System.out.println("Nume: " + nume);
		System.out.println("Prenume: " + prenume);
		System.out.println("IDNP: " + idnp);
		System.out.println("Numar de telefon: " + telefon);
		System.out.println("Adresa e-mail: " + email);
	}

	

}

public class Elev extends Date_personale {
	
	String scoala;
	static String clasa;
public Elev(String nume, String prenume, String idnp, String telefon, String email, String scoala, String clasa) {
		super(nume, prenume, idnp, telefon, email);
		this.scoala = scoala;
		this.clasa = clasa;
		// TODO Auto-generated constructor stub
	}
void afisare() {
	System.out.println("Nume: " + nume);
	System.out.println("Prenume: " + prenume);
	System.out.println("IDNP: " + idnp);
	System.out.println("Numar de telefon: " + telefon);
	System.out.println("Adresa e-mail: " + email);
	System.out.println("Institutia de invatamant: " + scoala);
	System.out.println("Clasa: " + clasa);
	System.out.println(" ");
}

public static void main(String[] args) {
	Elev elev1;
	elev1 = new Elev("Josan", "Mihai", "254364375754758578", "068383476", "mihai.josan12@gmail.com", "Liceul Teoretic Budesti", "11-A");
	elev1.afisare();
	Elev elev2;
	elev2 = new Elev ("Proca", "Virgiliu", "365843745758", "069284815", "virgiliuproca@gmail.com", "Liceul Ginta Latina", "12-B");
	elev2.afisare();
	
	Scanner cin = new Scanner(System.in);
	System.out.println("Clasa dupa care vreti sa va gaseasca elevi: ");
	String c = cin.nextLine();
	
	if (c == clasa) {
		
	}

Например, если пользователь пишет в консоли 11-а, то он должен быть отображен Josan Mihai

Что я уже пробовал:

if (c == clasa) {
		
	}

Я не знаю, что здесь написать, чтобы отобразить nume и prenume этого студента из класса c, читаемого с клавиатуры

1 Ответов

Рейтинг:
0

Maciej Los

В данный момент у вас есть 2 элева. Вам нужно иметь список элевс, чтобы иметь возможность перебирать эту коллекцию. Видеть:
Пользовательский ArrayList в Java - GeeksforGeeks[^]
Для-каждого цикла в Java - GeeksforGeeks[^]

ArrayList<Elev> elevs = new ArrayList<>();
elevs.add(elev1);
elevs.add(elev2);


foreach(Elev e: elevs){
    if(e.clasa==c){
        //display specific data 
        System.out.println(e.nume + " " + e.prenume);
    }

}


Примечание: у меня нет времени, чтобы проверить это. Поэтому, прежде чем начать использовать его, вы должны сначала проверить его на наличие ошибок.

Удачи вам!