Witam wszystkich.
Mam lekki problem z projektem, który muszę zrobić, a dokładniej mówiąc:
Ewidencja mandatów i pkt karnych.
Mam już część projektu tj. dodawanie ukaranych, pokazywanie całej listy ukaranych, ale borykam się z wyszukiwaniem danego kierowcy po Stringu jakim jest Pesel.
Próbowałem już wielu metod jednak, żadna nie przyniosła oczekiwanego efektu.
Czy ktoś byłby w stanie rzucić okiem i ew. w jakiś sposób pomóc?
A tutaj kodzik (ew w załączniku również)
Baza
import static com.sun.org.apache.xalan.internal.lib.ExsltDynamic.map;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
import static jdk.nashorn.internal.objects.NativeArray.map;
public class Baza {
public static final int Dodaj_kierowce = 0;
public static final int Wyswietl_Wszystkich = 1;
public static final int Wyjdz = 2;
public static final int WYSZUKAJ=3;
private static List<Kierowca> kierowcy;
public static void main(String[] args) {
kierowcy = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int option = 0;
int n=100;
do {
printOptions();
try {
option = sc.nextInt();
sc.nextLine();
} catch (InputMismatchException exc) {
sc.nextLine();
System.out.println("--------------------");
System.out.println("Dane w nieprawidłowym formacie ");
continue;
}
switch (option) {
case Dodaj_kierowce:
try {
addCompetitor(sc);
} catch (InputMismatchException e) {
sc.nextLine();
System.out.println("--------------------");
System.out.println("Błąd odczytu danych");
}
break;
case Wyswietl_Wszystkich:
printCompetitors();
break;
case Wyjdz:
break;
case WYSZUKAJ:
search();
break;
}
} while (option != Wyjdz);
sc.close();
}
private static void search(){
// int pozycja;
//pozycja=kierowcy.indexOf("osoba");
//System.out.println(pozycja);
for (int i=0; i<=kierowcy.size()-1; i++) {
String pesel1 = "92050903839";
if kierowcy.get(i).getPesel() == pesel1 {
}
System.out.println(kierowcy.get(i).getPesel());
//if kierowcy.indexOf() == "92050903839" {
//}
}
}
private static void printCompetitors() {
System.out.println("--------------------");
System.out.println("Lista ukaranych:");
for (Kierowca p: kierowcy) {
System.out.println(p);
}
}
private static void addCompetitor(Scanner sc) throws InputMismatchException {
Kierowca osoba = new Kierowca();
System.out.println("--------------------");
System.out.println("Dodawanie nowego kierowcy: ");
System.out.println("PESEL:");
osoba.setPesel(sc.nextLine());
System.out.println("Imię: ");
osoba.setFirstName(sc.nextLine());
System.out.println("Nazwisko");
osoba.setLastName(sc.nextLine());
System.out.println("Mandaty:");
osoba.setMan(sc.nextInt());
System.out.println("Punkty karne:");
osoba.setAge(sc.nextInt());
sc.nextLine();
kierowcy.add(osoba);
}
private static void printOptions() {
System.out.println("--------------------");
System.out.println("Dostępne opcje: ");
System.out.println(Dodaj_kierowce + " - Dodaj kierowce");
System.out.println(Wyswietl_Wszystkich + " - Wyświetl kierowców");
System.out.println(Wyjdz + " - Wyjście z programu");
System.out.println(WYSZUKAJ+ " - Wyszukaj");
System.out.println("Wybierz opcję: ");
}
}
Kierowca
public class Kierowca {
private String pesel;
private String Imie;
private String Nazwisko;
private int man;
private int pkt;
public String getPesel() {
return pesel;
}
public void setPesel(String pesel) {
this.pesel = pesel;
}
public String getFirstName() {
return Imie;
}
public void setFirstName(String Imie) {
this.Imie = Imie;
}
public String getLastName() {
return Nazwisko;
}
public void setLastName(String Nazwisko) {
this.Nazwisko = Nazwisko;
}
public int getAge() {
return pkt;
}
public void setAge(int pkt) {
this.pkt = pkt;
}
public int getMan() {
return man;
}
public void setMan(int man) {
this.man = man;
}
@Override
public String toString() {
return pesel + " " + Imie + " " + Nazwisko + " - " + man + "zł mandatu, " + pkt + " punkty karne";
}
}