-
Notifications
You must be signed in to change notification settings - Fork 0
/
Main.java
87 lines (80 loc) · 3.75 KB
/
Main.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.util.*;
public class Main {
private static ArrayList<Student> students = new ArrayList<Student>();
private static int totalStudents;
private static int availableClasses;
private static int seatsPerClass;
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
// Admin login
System.out.println("Enter admin username:");
String adminUsername = scanner.nextLine();
System.out.println("Enter admin password:");
String adminPassword = scanner.nextLine();
if (adminUsername.equals("srinithi") || adminPassword.equals("12345")) {
System.out.println("You have Logged in....");
}
// Admin input
System.out.println("Enter total number of students:");
totalStudents = scanner.nextInt();
System.out.println("Enter number of available classes:");
availableClasses = scanner.nextInt();
System.out.println("Enter number of seats per class:");
seatsPerClass = scanner.nextInt();
for (int i = 1; i <= totalStudents; i++) {
scanner.nextLine();
System.out.println("Enter name of student " + i + ":");
String name = scanner.nextLine();
System.out.println("Enter roll number of student " + i + ":");
String rollNumber = scanner.nextLine();
System.out.println("Enter branch of student " + i + ":");
String branch = scanner.nextLine();
System.out.println("Enter semester of student " + i + ":");
int semester = scanner.nextInt();
System.out.println("Enter year of student " + i + ":");
int year = scanner.nextInt();
students.add(new Student(rollNumber,name,semester,branch,year));
}
}
// Generate seating arrangement
generateSeatingArrangement();
}
// Generate seating arrangement
public static void generateSeatingArrangement() {
int totalSeats = availableClasses * seatsPerClass;
if (totalStudents > totalSeats) {
System.out.println("Error: Not enough seats available");
return;
}
// Sort students by roll number
Collections.sort(students, new Comparator<Student>() {
public int compare(Student s1, Student s2) {
return s1.getRollNumber().compareTo(s2.getRollNumber());
}
});
int seatCount = 0;
int rowNumber = 1;
for (Student student : students) {
int seatNumber = seatCount % seatsPerClass + 1;
student.setSeatNumber(seatNumber);
student.setRowNumber(rowNumber);
seatCount++;
if (seatCount % seatsPerClass == 0) {
rowNumber++;
}
}
System.out.println("Seating arrangement generated:");
for (int classNumber = 1; classNumber <= availableClasses; classNumber++) {
System.out.println("Class " + classNumber + ":");
for (int seatNumber = 1; seatNumber <= seatsPerClass; seatNumber++) {
System.out.print("Seat " + seatNumber + ": ");
for (Student student : students) {
if (student.getSeatNumber() == seatNumber && student.getRowNumber() == classNumber) {
System.out.print(student.getName() + " (" + student.getRollNumber() + ")");
}
}
System.out.println();
}
}
}
}