java教室座位表源代码
时间: 2023-08-31 22:05:53 浏览: 41
以下是Java教室座位表的源代码:
Seat.java
```
public class Seat {
private int seatNum;
private boolean isOccupied;
public Seat(int seatNum, boolean isOccupied) {
this.seatNum = seatNum;
this.isOccupied = isOccupied;
}
public int getSeatNum() {
return seatNum;
}
public void setSeatNum(int seatNum) {
this.seatNum = seatNum;
}
public boolean isOccupied() {
return isOccupied;
}
public void setOccupied(boolean occupied) {
isOccupied = occupied;
}
}
```
SeatTable.java
```
public class SeatTable {
private int rows;
private int cols;
private Seat[][] seats;
public SeatTable(int rows, int cols) {
this.rows = rows;
this.cols = cols;
this.seats = new Seat[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
seats[i][j] = new Seat(i * cols + j + 1, false);
}
}
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
public int getCols() {
return cols;
}
public void setCols(int cols) {
this.cols = cols;
}
public Seat[][] getSeats() {
return seats;
}
public void setSeats(Seat[][] seats) {
this.seats = seats;
}
public void displayTable() {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (seats[i][j].isOccupied()) {
System.out.print(seats[i][j].getSeatNum() + "* ");
} else {
System.out.print(seats[i][j].getSeatNum() + " ");
}
}
System.out.println();
}
}
public void changeSeatStatus(int seatNum) {
int row = (seatNum - 1) / cols;
int col = (seatNum - 1) % cols;
seats[row][col].setOccupied(!seats[row][col].isOccupied());
System.out.println("座位" + seatNum + "原状态为" + !seats[row][col].isOccupied() + ",修改为" + seats[row][col].isOccupied());
}
public int getOccupiedCount() {
int count = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (seats[i][j].isOccupied()) {
count++;
}
}
}
return count;
}
public int getUnoccupiedCount() {
return rows * cols - getOccupiedCount();
}
}
```
Main.java
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
SeatTable seatTable = new SeatTable(5, 6);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择要进行的操作:");
System.out.println("1. 显示座位表");
System.out.println("2. 修改座位状态");
System.out.println("3. 统计座位情况");
System.out.println("4. 退出程序");
int option = scanner.nextInt();
if (option == 1) {
seatTable.displayTable();
} else if (option == 2) {
System.out.println("请输入要修改的座位号:");
int seatNum = scanner.nextInt();
seatTable.changeSeatStatus(seatNum);
} else if (option == 3) {
System.out.println("已被占用的座位数:" + seatTable.getOccupiedCount());
System.out.println("未被占用的座位数:" + seatTable.getUnoccupiedCount());
} else if (option == 4) {
System.out.println("程序已退出。");
break;
} else {
System.out.println("输入错误,请重新输入。");
}
}
}
}
```