Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

JAVA PROGRAMMING ASSIGNMENT: You run four computer labs. Each lab contains compu

ID: 3707715 • Letter: J

Question

JAVA PROGRAMMING ASSIGNMENT:


You run four computer labs. Each lab contains computer stations that are numbered as shown in the table below:-
Lab Number   Computer Station Numbers
1   1-5
2   1-6
3   1-4
4   1-3
Each user has a unique five-digit ID Number. Whenever a user logs on, the user's ID, Lab Number, and the computer station are transmitted to your station. For example, if user 49193 logs onto station 2 in Lab 3, your system receives (49193, 2, 3) as input data. Similarly, when a user logs off a station, your system receives the Lab Number and computer station number.
Write a Java program that could be used to track, by lab, which user is logged onto which computer. For example, if user 49193 is logged into station 2 in lab 3 and user 99577 is logged into station 1 of lab 4, then your system might display the following:-
Lab Number Computer Stations
1 1: empty 2: empty 3: empty 4: empty 5: empty
2   1: empty 2: empty 3: empty 4: empty 5: empty 6: empty
3   1: empty 2: 49193 3: empty 4: empty
4   1: 99577 2: empty 3: empty
Task:-
1. Create a menu that allows the administrator to simulate the transmission of information by manually typing in the login or logoff data. Whenever someone logs in or out, the display table should be updated.
2. Write a search option so the administrator can type in a user Id and the system will output what Lab Number and station number the user is logged into, or "None" if the user Id is not logged into any computer station.
You should use a fixed array of length 4 for the labs. Each array entry points to a dynamic array that stores the user login information for each respective computer station.
Sample Output:- (User input is in bold and Italics)
LAB STATUS Lab # Computer Stations 1 1: empty 2: empty 3: empty 4: empty 5: empty 2 1: empty 2: empty 3: empty 4: empty 5: empty 6: empty 3 1: empty 2: empty 3: empty 4: empty 4 1: empty 2: empty 3: empty
MAIN MENU 0) Quit 1) Simulate login 2) Simulate logoff 3) Search 1 Enter the 5 digit ID number of the user logging in: 12345 Enter the lab number the user is logging in from (1-4): 2 Enter computer station number the user is logging in to (1-6): 3
LAB STATUS Lab # Computer Stations 1 1: empty 2: empty 3: empty 4: empty 5: empty 2 1: empty 2: empty 3: 12345 4: empty 5: empty 6: empty 3 1: empty 2: empty 3: empty 4: empty 4 1: empty 2: empty 3: empty
MAIN MENU 0) Quit 1) Simulate login 2) Simulate logoff 3) Search 2 Enter the 5 digit ID number of the user to find: 12345 User 12345 is logged off.
LAB STATUS Lab # Computer Stations 1 1: empty 2: empty 3: empty 4: empty 5: empty 2 1: empty 2: empty 3: empty 4: empty 5: empty 6: empty 3 1: empty 2: empty 3: empty 4: empty 4 1: empty 2: empty 3: empty
MAIN MENU 0) Quit 1) Simulate login 2) Simulate logoff 3) Search

REMEMBER TO WRITE COMMENTS NEXT TO OR ABOVE EACH LINE OF CODE, EXPLAINING WHAT IT DOES.

Explanation / Answer

//The following Java program is used to simulate the user selection as required in the problem.This program is not //compiled but can help to write and compile the program.The comments have been incoroporated in the program //wherever necessary

import java.util.*;
class Main {
public void display_menu() {
System.out.println ( "1) Option 1 2) Option 2 3) Option 3 3) Option 4" );
System.out.print ( "Selection: " );
}
  
public Main() {
  
Scanner in = new Scanner ( System.in );
int selection;
int userid;
int LabNo;
int computerNo;
//Array to simulate login information
String lab1Login[] = new lab1[5];
String lab2Login[] = new lab1[6];
String lab3Login[] = new lab1[4];
String lab4Login[] = new lab1[3];
  
//Array to simulate logoff information
String lab1Logoff[] = new lab1[5];
String lab2Logoff[] = new lab1[6];
String lab3Logoff[] = new lab1[4];
String lab4Logoff[] = new lab1[3];
display_menu();
selection = in.nextInt();
do
{
switch ( selection ) {
case 0:
break;//Quit the application
case 1://Simulate login information
System.out.print ( "Enter the User Id , lab no , Computer station one by one for login information : " );
userid = in.nextInt();
LabNo = in.nextInt();
computerNo = in.nextInt();
if (LabNo ==1)
lab1Login[computerNo] = userid;
if (Lab ==2)
lab2Login[computerNo] = userid;
if (Lab ==3)
lab3Login[computerNo] = userid;
if (Lab ==4)
lab4Login[computerNo] = userid;  
break;
case 2://Simulate log off
System.out.print ( "Enter the User Id , lab no , Computer station one by one for log off information : " );
userid = in.nextInt();
LabNo = in.nextInt();
computerNo = in.nextInt();
if (LabNo ==1)
lab1Logoff[computerNo] = userid;
if (Lab ==2)
lab2Logoff[computerNo] = userid;
if (Lab ==3)
lab3Logoff[computerNo] = userid;
if (Lab ==4)
lab4Logoff[computerNo] = userid;  
break;
case 3:
System.out.println ( "Enter the User Id: " );//Simulate LogOff
userid = in.nextInt();
for (int i = 0; i < lab1Login.length;i++ )
if (userid = lab1Login[i])
{
System.out.println ( "User is logged in the system in lab 1 and computer no " + i);
}

//repeat the steps for all the labs to check if the user is logged in

for (int i = 0; i < lab1Logoff.length;i++ )
if (userid = lab1Logoff[i])
{
System.out.println ( "User is logged off the system from lab 1 and computer no " + i);
}

//repeat the steps for all the labs to check if the user is logged off from the lab  
break;
default:
System.err.println ( "Unrecognized option" );//Search
break;
}
} while (selection != 0 )
}
  
public static void main ( String[] args ) {
new Main();
}
}