사원 관리 프로그램을 작성하시오.
단, 사원 정보(사원 번호, 이름, 직급, 소속 부서, 연봉)은 하나의 구조체로 통제하고
사원 정보입력, 출력은 별개의 메소드를 통하여 관리합니다.
ScannerUtil
Scanner 클래스를 통해 입력을 받을 시에 도움이 될만한 static 메소드를 모아둔 클래스
package util;
import java.util.Scanner;
//Scanner 클래스를 통해 입력을 받을 시에 도움이 될만한 static 메소드를 모아둔 클래스
public class ScannerUtil {
// 1. 입력시 사용자에게 보여줄 메세지 출력을 담당할 메소드
public static void printMessage(String message){
System.out.println(message);
System.out.println("> ");
}
// 2. 스캐너 버그를 미리 방지하는 nexLine()
public static String nextLine(Scanner scanner, String message){
printMessage(message);
String temp = scanner.nextLine();
if(temp.isEmpty()){
temp = scanner.nextLine();
}
return temp;
}
// 3. 사용자로부터 정수 입력을 담당하는 nexInt()
public static int nextInt(Scanner scanner, String message){
printMessage(message);
int temp = scanner.nextInt();
return temp;
}
//파라미터의 순서가 중요 파라미터의 순서가 다른 경우 같은 함수이름을 사용할수 있음
// 4. 사용자로부터 특정 범위의 정수 입력을 담당하는 nextInt()
public static int nextInt(Scanner scanner, String message, int min, int max){
int temp = nextInt(scanner, message);
while (temp < min || temp > max) {
System.out.println("잘못 입력하셨습니다.");
temp = nextInt(scanner, message);
}
return temp;
}
}
Employee 클래스 작성
package day0110;
public class Employee {
public int id;
public String name;
public String rank;
public String dept;
public int salary;
}
ScannerUtil 클래스를 활용해서 사원관리프로그램 작성하기
Ex03Emp
package day0110;
import util.ScannerUtil;
import java.util.Scanner;
public class Ex03Emp {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Employee employee = new Employee();
insertInfo(scanner, employee);
printInfo(employee); // call by reference 참조에 의한 호출
scanner.close();
}
public static void insertInfo(Scanner scanner, Employee employee){
// 각종 출력예시 사용할 메세지를 저장할 String 변수 message
String message;
// 사원 번호 입력
message = "사원의 번호를 입력하시오.";
employee.id = ScannerUtil.nextInt(scanner, message);
// 사원 이름 입력
message = "사원의 이름을 입력하시오.";
employee.name = ScannerUtil.nextLine(scanner, message);
// 사원 직급 입력
message = "사원의 직급을 입력하시오.";
employee.rank = ScannerUtil.nextLine(scanner, message);
// 사원 부서 입력
message = "사원의 부서를 입력하시오.";
employee.dept = ScannerUtil.nextLine(scanner, message);
// 사원 연봉 입력
message = "사원의 연봉을 입력하시오.";
employee.salary = ScannerUtil.nextInt(scanner, message);
}
public static void printInfo(Employee employee){
System.out.println("-------------------------------------- ");
System.out.println("사원 번호 : " + employee.id);
System.out.println("사원 이름 : " + employee.name);
System.out.println("사원 직급 : " + employee.rank);
System.out.println("사원 부서 : " + employee.dept);
System.out.println("사원 연봉 : " + employee.salary);
System.out.println("-------------------------------------- ");
}
}
'JX405기_비트 > Java' 카테고리의 다른 글
Day02-4 전역 상수를 활용한 학생 관리 프로그램 작성 (0) | 2023.01.12 |
---|---|
Day02-3 학생 관리 프로그램 작성 (0) | 2023.01.12 |
Day02-1 클래스 학습 (0) | 2023.01.12 |
Day01-3 메소드 예제 풀어보기(2) (0) | 2023.01.09 |
Day01-3 메소드 예제 풀어보기 (1) (0) | 2023.01.09 |