반응형
NOOWGNAJ
Run To IT
NOOWGNAJ
전체 방문자
오늘
어제
  • 분류 전체보기 (163)
    • Flutter (3)
    • Back (77)
      • JAVA (13)
      • JAVA 응용문제 (8)
      • JSP (16)
      • Spring (5)
      • Python (26)
      • nexacro (3)
      • jstl (6)
    • Database (8)
      • MySQL (6)
      • MSSQL (2)
    • Front (44)
      • HTML (34)
      • CSS (0)
      • JavaScript (5)
      • Vue.js (5)
    • 코딩테스트 (4)
      • SQL (3)
      • JS (1)
    • MUSIC (1)
      • 장운박스 (1)
    • 임시 메모장 (21)
      • 메모장1 (21)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 정규식모음
  • 핸드폰번호정규식
  • 정규식
  • 주민번호정규식
  • 자바스크립트
  • 이메일정규식
  • 자바스크립트정규식
  • regex

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
NOOWGNAJ

Run To IT

임시 메모장/메모장1

과목 리스트 만들기

2022. 6. 26. 00:07
반응형

성적관리 프로그램을 제작하게 됩니다.

기본 과목은 국어, 영어, 수학, 과학, 사회 과목이 있습니다.

“과목추가[1], 과목삭제[2], 과목리스트 확인[3] 를 선택해 주세요? 라는 메시지가 프로그램 시작 시 출력이 되며,

사용자가 1번을 입력하면, “추가할 과목명을 입력하세요?” 라고 메시지를 출력합니다.

단, 동일한 과목명이 있을 경우 “이미 등록된 과목명이 있습니다.” 라고 출력 되어야 하며,

추가 되었을 경우 “정상적으로 등록 되었습니다.” 라고 출력합니다.

사용자가 2번을 선택하였을 경우 “삭제할 과목명을 입력하세요?” 라고 메시지를 출력합니다.

단, 해당 삭제할 과목명이 없을 경우 “해당 과목명이 없습니다.” 라고 출력 되며,

해당 과목을 삭제 하였을 경우 “정상적으로 삭제 되었습니다.” 라고 출력합니다.

사용자가 3번을 선택할 경우 최종 변경된 결과에 대한 과목만 리스트로 출력 되도록 합니다.

※ 해당 파일은 test1.java 와 test1_abstract.java를 이용하여 제작 하시길 바라며,

main class에서는 외부 class를 로드만 합니다.

 

package Test1;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Test1 {

	public static void main(String[] args) {

		subject sb = new subject();
		Scanner sc = new Scanner(System.in);

		while (true) {
			System.out.println("과목 추가[1], 과목 삭제[2], 과목 리스트 확인[3], 프로그램 종료[0]");
			int subject = sc.nextInt();
			switch (subject) {
			case 1 -> {
				sb.add(subject);
				break;
			}
			case 2 -> {
				sb.remove(subject);
				break;
			}
			case 3 -> {
				sb.print(subject);
				break;
			}
			case 0 -> {
				sb.close(subject);
				break;
			}
			default -> {
				System.out.println("과목 추가[1], 과목 삭제[2], 과목 리스트 확인[3], 프로그램 종료[0]");
				break;
			}
			}
		}
	}
}

class subject extends Test1_abs {
	Scanner sc = new Scanner(System.in);
	String basic_subject[] = { "국어", "영어", "수학", "과학", "사회" };
	ArrayList<String> em_subject = new ArrayList<String>(Arrays.asList(basic_subject));
	String add_sub = null;
	String remove_sub = null;

// 추가
	@Override
	public void add(int sub) {
		System.out.println("리스트에 추가할 과목명을 입력해주세요.");
		this.add_sub = sc.next();
		if (this.em_subject.contains(this.add_sub)) {
			System.out.println("리스트에 이미 등록된 과목입니다.");
		} else {
			this.em_subject.add(add_sub);
			System.out.println("정상적으로 등록되었습니다.");
		}
	}
// 삭제
	@Override
	public void remove(int sub) {
		System.out.println("리스트에서 삭제할 과목명을 입력해주세요.");
		this.remove_sub = sc.next();
		if (this.em_subject.contains(this.remove_sub)) {
			this.em_subject.remove(remove_sub);
			System.out.println("리스트에서 정상적으로 삭제되었습니다.");
		} else {
			System.out.println("리스트에 없거나 이미 삭제된 과목명입니다.");
		}
	}
// 출력
	@Override
	public void print(int sub) {
		System.out.println("현재 과목 리스트를 출력합니다.");
		System.out.println(this.em_subject);
	}
// 종료
	@Override
	public void close(int sub) {
		System.out.println("프로그램을 종료합니다.");
		System.exit(0);
		sc.close();
	}
}
package Test1;

public abstract class Test1_abs {
	
	abstract public void add(int sub);
	abstract public void remove(int sub);
	abstract public void print(int sub);
	abstract public void close(int sub);
}
반응형

'임시 메모장 > 메모장1' 카테고리의 다른 글

DNS명 출력  (0) 2022.06.27
급여관리 시스템 만들기  (0) 2022.06.26
Files 생성 이동 삭제  (0) 2022.06.23
파일 입력 넣기  (0) 2022.06.22
.intern()  (0) 2022.06.22
    '임시 메모장/메모장1' 카테고리의 다른 글
    • DNS명 출력
    • 급여관리 시스템 만들기
    • Files 생성 이동 삭제
    • 파일 입력 넣기
    NOOWGNAJ
    NOOWGNAJ
    Innovation. Development. Evolution. Passion. Smart. Teamwork.

    티스토리툴바