pra militant
import java.util.*;
public class Solution {
// Militant class
public static class Militant {
private int militantId;
private String name;
private String category;
private double experience;
public Militant(int militantId, String name, String category, double experience) {
this.militantId = militantId;
this.name = name;
this.category = category;
this.experience = experience;
}
public int getMilitantId() {
return militantId;
}
public String getName() {
return name;
}
public String getCategory() {
return category;
}
public double getExperience() {
return experience;
}
}
// Method to search for a militant by ID
public static Militant searchMilitantByMilitantId(List<Militant> militants, int militantId) {
for (Militant militant : militants) {
if (militant.getMilitantId() == militantId) {
return militant;
}
}
return null;
}
// Method to find militants with less than 2 years experience
public static List<Militant> findMilitantsWithLessThanTwoYearsExperience(List<Militant> militants) {
List<Militant> result = new ArrayList<>();
for (Militant militant : militants) {
if (militant.getExperience() < 2.0) {
result.add(militant);
}
}
return result;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Read the number of militants
int n = scanner.nextInt();
scanner.nextLine(); // Consume newline
// List to store militants
List<Militant> militants = new ArrayList<>();
// Read details of each militant
for (int i = 0; i < n; i++) {
int militantId = Integer.parseInt(scanner.nextLine().trim());
String name = scanner.nextLine().trim();
String category = scanner.nextLine().trim();
double experience = Double.parseDouble(scanner.nextLine().trim());
// Avoid duplicates based on militantId
boolean duplicate = false;
for (Militant militant : militants) {
if (militant.getMilitantId() == militantId) {
duplicate = true;
break;
}
}
if (!duplicate) {
militants.add(new Militant(militantId, name, category, experience));
}
}
// Search for a militant by ID
int searchId = Integer.parseInt(scanner.nextLine().trim());
Militant found = searchMilitantByMilitantId(militants, searchId);
if (found != null) {
System.out.println(found.getMilitantId());
System.out.println(found.getName());
System.out.println(found.getCategory());
System.out.println(found.getExperience());
} else {
System.out.println("No militant found with given id");
}
// Find militants with less than 2 years of experience
List<Militant> lessExperienced = findMilitantsWithLessThanTwoYearsExperience(militants);
if (!lessExperienced.isEmpty()) {
for (Militant militant : lessExperienced) {
System.out.println(militant.getMilitantId());
System.out.println(militant.getName());
System.out.println(militant.getCategory());
System.out.println(militant.getExperience());
}
} else {
System.out.println("No militant found with less than 2 years of experience");
}
scanner.close();
}
}