By GokiSoft.com|
20:10 05/04/2020|
Java Basic
Share Code- Chia sẻ code java >> Phần mềm quản lý bệnh nhân COVID-19
Hướng dẫn chữa bài tập >> Phần mềm quản lý bệnh nhân COVID-19
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package covid19;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Main {
public static void main(String[] args) {
List<Citizen> citizenList = new ArrayList<>();
int choose;
Scanner input = new Scanner(System.in);
do {
showMenu();
choose = Integer.parseInt(input.nextLine());
switch(choose) {
case 1:
System.out.println("Nhap so cong dan can them : ");
int n = Integer.parseInt(input.nextLine());
for (int i = 0; i < n; i++) {
Citizen citizen = new Citizen();
citizen.input();
citizenList.add(citizen);
}
break;
case 2:
System.out.println("Nhap ten cong dan can xem: ");
String name = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getName().equalsIgnoreCase(name)) {
citizen.display();
}
}
break;
case 3:
System.out.println("Nhap CMTND cong dan can xem: ");
String cmtnd = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd)) {
citizen.display();
break;
}
}
break;
case 4:
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd2 = input.nextLine();
System.out.println("Nhap tinh trang SK benh nhan: ");
System.out.println("0. Binh thuong");
System.out.println("1. Can theo doi >> tiep xuc vs benh nhan COVID-19");
System.out.println("3. Duong tinh vs COVID-19");
int status = Integer.parseInt(input.nextLine());
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd2)) {
switch(status) {
case 0:
citizen.setStatus(Citizen.COVID19_STATUS.NORMAL);
break;
case 1:
citizen.setStatus(Citizen.COVID19_STATUS.FOLLOW);
break;
case 2:
citizen.setStatus(Citizen.COVID19_STATUS.ACTIVE);
break;
}
}
}
break;
case 5:
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd3 = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd3)) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW || citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
citizen.inputAddressList();
}
break;
}
}
break;
case 6:
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd4 = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd4)) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW || citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
// citizen.inputAddressList();
//FOLLOW
for (Citizen c : citizenList) {
if(c.getStatus() == Citizen.COVID19_STATUS.NORMAL &&
citizen.getAddressList().contains(c.getTmpAddress())) {
c.setStatus(Citizen.COVID19_STATUS.FOLLOW);
}
}
}
break;
}
}
break;
case 7:
for (Citizen citizen : citizenList) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
citizen.display();
}
}
break;
case 8:
for (Citizen citizen : citizenList) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW) {
citizen.display();
}
}
break;
case 9:
System.out.println("Exit!!!");
break;
default:
System.out.println("Input Failed!!!");
break;
}
} while(choose != 9);
}
static void showMenu() {
System.out.println("1. Lập danh sách tất cả công dân tại Việt Nam");
System.out.println("2. Tìm kiếm thông tin bệnh nhân theo tên");
System.out.println("3. Tìm kiếm bệnh nhân theo CMTND");
System.out.println("4. Thiết lập tình trạng sức khoẻ");
System.out.println("5. Thiết lập lộ trình di chuyển của 1 bệnh nhân.");
System.out.println("6. Thiết lập trạng thái bệnh nhân đã tiếp xúc vs một bệnh nhân dương tính COVID-19");
System.out.println("7. Hiển thị danh sách bệnh nhân dương tính COVID-19");
System.out.println("8. Hiển thị danh sách bệnh nhân đang theo dõi");
System.out.println("9. Thoát");
System.out.println("Lua chon: ");
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package covid19;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Citizen {
static enum COVID19_STATUS {
NORMAL, FOLLOW, ACTIVE
};
String name, cmtnd, gender, address, tmpAddress;
int age;
List<String> addressList;
COVID19_STATUS status;
public Citizen() {
status = COVID19_STATUS.NORMAL;
addressList = new ArrayList<>();
}
public Citizen(String name, String cmtnd, String gender, String address, String tmpAddress, int age) {
this.name = name;
this.cmtnd = cmtnd;
this.gender = gender;
this.address = address;
this.tmpAddress = tmpAddress;
this.age = age;
status = COVID19_STATUS.NORMAL;
addressList = new ArrayList<>();
}
public void input() {
Scanner input = new Scanner(System.in);
System.out.println("Nhap ten: ");
name = input.nextLine();
System.out.println("Nhap CMTND: ");
cmtnd = input.nextLine();
System.out.println("Nhap gioi tinh: ");
gender = input.nextLine();
System.out.println("Nhap dia chi thuong tru: ");
address = input.nextLine();
System.out.println("Nhap dia chi tam tru: ");
tmpAddress = input.nextLine();
System.out.println("Nhap tuoi: ");
age = Integer.parseInt(input.nextLine());
}
public void display() {
System.out.format("\nTen: %s, cmtnd: %s, gioi tinh: %s, "
+ "dia chi: %s, dia chi tam tru: %s, tuoi: %d",
name, cmtnd, gender, address, tmpAddress, age);
switch(status) {
case NORMAL:
System.out.println("Cong dan am tinh voi COVID-19");
break;
case FOLLOW:
System.out.println("Cong dan dang bi theo doi >> sinh song trong vung dich");
break;
case ACTIVE:
System.out.println("Cong dan duong tinh voi COVID-19");
break;
}
if(addressList.size() > 0) {
System.out.println("Lo trinh di chuyen cua benh nhan: ");
for (String add : addressList) {
System.out.println(add);
}
}
}
public void inputAddressList() {
Scanner input = new Scanner(System.in);
for(;;) {
System.out.println("Nhap dia chi di chuyen moi: ");
String newAddress = input.nextLine();
if(!addressList.contains(newAddress)) {
addressList.add(newAddress);
}
System.out.println("Ban co muon tiep tuc them lo trinh di chuyen hay ko (YES, NO)???");
String option = input.nextLine();
if(option.equalsIgnoreCase("NO")) {
break;
}
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCmtnd() {
return cmtnd;
}
public void setCmtnd(String cmtnd) {
this.cmtnd = cmtnd;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTmpAddress() {
return tmpAddress;
}
public void setTmpAddress(String tmpAddress) {
this.tmpAddress = tmpAddress;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getAddressList() {
return addressList;
}
public void setAddressList(List<String> addressList) {
this.addressList = addressList;
}
public COVID19_STATUS getStatus() {
return status;
}
public void setStatus(COVID19_STATUS status) {
this.status = status;
}
}
Cach 2
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package covid19;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Diep.Tran
*/
public class Main {
public static void main(String[] args) {
List<Citizen> citizenList = new ArrayList<>();
int choose;
Scanner input = new Scanner(System.in);
do {
showMenu();
choose = Integer.parseInt(input.nextLine());
switch(choose) {
case 1:
inputCitizen(citizenList);
break;
case 2:
displayCitizen(citizenList);
break;
case 3:
displayCitizenByCMTND(citizenList);
break;
case 4:
setStatusByCMTND(citizenList);
break;
case 5:
setAddressListByCMTND(citizenList);
break;
case 6:
setFollowByAddress(citizenList);
break;
case 7:
showCitizenByActive(citizenList);
break;
case 8:
showCitizenByFollow(citizenList);
break;
case 9:
System.out.println("Exit!!!");
break;
default:
System.out.println("Input Failed!!!");
break;
}
} while(choose != 9);
}
static void showCitizenByFollow(List<Citizen> citizenList) {
for (Citizen citizen : citizenList) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW) {
citizen.display();
}
}
}
static void showCitizenByActive(List<Citizen> citizenList) {
for (Citizen citizen : citizenList) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
citizen.display();
}
}
}
static void setFollowByAddress(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd)) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW || citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
// citizen.inputAddressList();
//FOLLOW
for (Citizen c : citizenList) {
if(c.getStatus() == Citizen.COVID19_STATUS.NORMAL &&
citizen.getAddressList().contains(c.getTmpAddress())) {
c.setStatus(Citizen.COVID19_STATUS.FOLLOW);
}
}
}
break;
}
}
}
static void setAddressListByCMTND(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd)) {
if(citizen.getStatus() == Citizen.COVID19_STATUS.FOLLOW || citizen.getStatus() == Citizen.COVID19_STATUS.ACTIVE) {
citizen.inputAddressList();
}
break;
}
}
}
static void setStatusByCMTND(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap CMTND cong dan can tim: ");
String cmtnd = input.nextLine();
System.out.println("Nhap tinh trang SK benh nhan: ");
System.out.println("0. Binh thuong");
System.out.println("1. Can theo doi >> tiep xuc vs benh nhan COVID-19");
System.out.println("3. Duong tinh vs COVID-19");
int status = Integer.parseInt(input.nextLine());
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd)) {
switch(status) {
case 0:
citizen.setStatus(Citizen.COVID19_STATUS.NORMAL);
break;
case 1:
citizen.setStatus(Citizen.COVID19_STATUS.FOLLOW);
break;
case 2:
citizen.setStatus(Citizen.COVID19_STATUS.ACTIVE);
break;
}
}
}
}
static void displayCitizenByCMTND(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap CMTND cong dan can xem: ");
String cmtnd = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getCmtnd().equalsIgnoreCase(cmtnd)) {
citizen.display();
break;
}
}
}
static void displayCitizen(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap ten cong dan can xem: ");
String name = input.nextLine();
for (Citizen citizen : citizenList) {
if(citizen.getName().equalsIgnoreCase(name)) {
citizen.display();
}
}
}
static void inputCitizen(List<Citizen> citizenList) {
Scanner input = new Scanner(System.in);
System.out.println("Nhap so cong dan can them : ");
int n = Integer.parseInt(input.nextLine());
for (int i = 0; i < n; i++) {
Citizen citizen = new Citizen();
citizen.input();
citizenList.add(citizen);
}
}
static void showMenu() {
System.out.println("1. Lập danh sách tất cả công dân tại Việt Nam");
System.out.println("2. Tìm kiếm thông tin bệnh nhân theo tên");
System.out.println("3. Tìm kiếm bệnh nhân theo CMTND");
System.out.println("4. Thiết lập tình trạng sức khoẻ");
System.out.println("5. Thiết lập lộ trình di chuyển của 1 bệnh nhân.");
System.out.println("6. Thiết lập trạng thái bệnh nhân đã tiếp xúc vs một bệnh nhân dương tính COVID-19");
System.out.println("7. Hiển thị danh sách bệnh nhân dương tính COVID-19");
System.out.println("8. Hiển thị danh sách bệnh nhân đang theo dõi");
System.out.println("9. Thoát");
System.out.println("Lua chon: ");
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)