과제
2022.07.21 / Hw2

사원 테이블(EMP)에서 최대 급여를 받는 사원명과 최대급여
           금액을 출력하는 SQL문을 작성 하세요

 

 

의도

서브쿼리 사용

그룹함수 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220721/2022_07_21_hw2.sql

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

-- Q2. 사원 테이블(EMP)에서 최대 급여를 받는 사원명과 최대급여 금액을 출력하는 SQL문을 작성 하세요?
select ename, sal from emp where sal = (select max(sal) from emp);

 

 

출력

 

 

강사님 코드

-- Q2. 사원 테이블(EMP)에서 최대 급여를 받는 사원명과 최대급여 금액을 출력하는 SQL문을 작성 하세요?
select ename, sal from emp where sal=
		(select max(sal) from emp);

과제
2022.07.21 / Hw1

사원 테이블(EMP)에서 가장 최근에 입사한 사원명을 출력 하는 
           SQL문을 작성 하세요?

 

 

의도

서브쿼리 사용

그룹함수 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220721/2022_07_21_hw1.sql

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

-- Q1. 사원 테이블(EMP)에서 가장 최근에 입사한 사원명을 출력 하는 SQL문을 작성 하세요?
select ename from emp where hiredate = (select max(hiredate) from emp) ;

 

 

출력

 

강사님 코드

-- Q1. 사원 테이블(EMP)에서 가장 최근에 입사한 사원명을 출력하는 SQL문을 작성 하세요?
select ename, hiredate from emp where hiredate=
		(select max(hiredate) from emp);

 과제
2022.07.20 / Hw2

사원테이블(EMP)에서 MGR컬럼의 값이 null 인 데이터의

MGR의 값을  CEO 로  출력하는 SQL문을 작성 하세요?

 

 

의도

SELECT문 활용

타입 변환 TO_CHAR 사용

NVL 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220720/2022_07_20_hw2.sql

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

-- 과제2. 사원테이블(EMP)에서 MGR컬럼의 값이 null인 데이터의 MGR의 값을 CEO 로 출력하는 SQL문을 작성 하세요?
select empno, ename, job, nvl(TO_CHAR(mgr), 'CEO') as "MANAGER", sal, comm, deptno from emp;

 

 

출력

 

강사님 코드

-- Q2. 사원테이블(EMP)에서 MGR컬럼의  값이  null 인 데이터의 MGR컬럼의 값을  CEO 로  출력하는 SQL문을 작성 하세요?     
     select ename, nvl(to_char(mgr,'9999'), 'CEO') 
       as MANAGER from emp where mgr is null;

 

 

과제
2022.07.20 / Hw1

사원테이블(EMP)에서 입사일(HIREDATE)을 4자리 연도로

 출력 되도록 SQL문을 작성하세요? (ex. 1980/01/01)

 

 

의도

SELECT문 활용

포맷 출력 TO_CHAR 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220720/2022_07_20_hw1.sql

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

-- 과제1. 사원테이블(EMP)에서 입사일(HIREDATE)을 4자리 연도로 출력 되도록 SQL문을 작성하세요? (ex. 1980/01/01)
select empno, ename, job, mgr, TO_CHAR(hiredate,'YYYY/MM/DD'), sal, comm, deptno from emp;

 

 

출력

 

 

강사님 코드

-- Q1. 사원테이블(EMP)에서 입사일(HIREDATE)을 4자리 연도로 출력되도록 SQL문을 작성하세요? (ex. 1980/01/01)
     select  to_char(hiredate, 'YYYY/MM/DD') from emp;

 과제
2022.07.13 / Hw1

      File 클래스를 이용해서 C 드라이브의  test 폴더에  파일들이 
      들어있는 경우에  test폴더를 삭제하는 프로그램을 작성하세요

 

 

의도

File 클래스 사용

File 클래스 delete() 메소드 사용

File 클래스 listFiles() 메소드 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220713/FileTestHw.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_07_13;

import java.io.*;

public class FileTestHw {

	public static void main(String[] args) {
		try {
			File tempFileHw = new File("testhw");
			System.out.println("create directory state : " + tempFileHw.mkdirs());
			
			// 2. 비어있지 않는 디렉토리 삭제(과제)
			File[] fileList = tempFileHw.listFiles();
			for (int i = 0; i < fileList.length; i++) {
				fileList[i].delete();
			}
			tempFileHw.delete();
			
		} catch (Exception e) {
		}
	}
}

 과제
2022.07.08 / Hw1

                     키보드를 통해서 각 회원들의 정보를 입력 받는 클래스(MemberInput)를 작성한다. 
        이때 입력 받는 회원의 정보는 성명, 나이, 이메일, 주소를 입력 받는다. 
        그리고 키보드로 입력한 회원의 정보는 새로운
        회원정보를 저장하는 클래스(MemberInfo)의 멤버변수에 
        저장을 시킨후 출력하는 프로그램을 작성하시오.
       

 (단, 1명의 회원정보를 입력 받아서 처리한다. 
         가능하면 2명 이상의 회원 정보도 입력 받아서 처리 해본다.)


        1. 객체배열 대신에 List 자료구조를 이용해서 문제를 해결하세요.
        2. MemberInfo 클래스는  필드, setters, getters method 로 작성한다.

 

 

의도

List 자료구조 활용

getters setters 메소드 사용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220708/ListMemberInput.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_07_08;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

class ListMemberInfo {
	private String name;
	private int age;
	private String email;
	private String address;

	// setters
	public void setName(String name) {
		this.name = name;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getName() {
		return name;
	}

	public int getAge() {
		return age;
	}

	public String getEmail() {
		return email;
	}

	public String getAddress() {
		return address;
	}
}

public class ListMemberInput {

	public static void main(String[] args) {

		// 멤버들을 저장할 자료구조
		List<ListMemberInfo> members = new ArrayList<ListMemberInfo>();
		Scanner sc = new Scanner(System.in);
		String yn;

		// 입력받기
		do {
			System.out.println("--" + (members.size() + 1) + "번째 사람 입력--");
			System.out.print("이름 > ");
			String name = sc.nextLine();

			System.out.print("나이 > ");
			int age = sc.nextInt();
			sc.nextLine();

			System.out.print("이메일 > ");
			String email = sc.nextLine();

			System.out.print("주소 > ");
			String address = sc.nextLine();

			ListMemberInfo m = new ListMemberInfo();

			m.setName(name);
			m.setAge(age);
			m.setEmail(email);
			m.setAddress(address);

			// 리스트에 추가
			members.add(m);

			System.out.print("계속할려면 y, 멈출려면 n을 입력?");
			yn = sc.nextLine();

			if (yn.equals("y") || yn.equals("Y")) {
				continue;
			} else if (yn.equals("n") || yn.equals("N")) {
				break;
			}

		} while (true);

		for (int j = 0; j < members.size(); j++) {
			System.out.println("--" + (j + 1) + "번째 사람 출력--");
			System.out.println("성명 : " + members.get(j).getName());
			System.out.println("나이 :" + members.get(j).getAge());
			System.out.println("E-Mail : " + members.get(j).getEmail());
			System.out.println("주소 : " + members.get(j).getAddress());
		}

	}
}

 

 

출력

 

 과제
2022.07.07 / Hw1

1~45 사이의 정수중에서 6개의 숫자를 추출하는 
         로또 프로그램을 작성하세요?

       1) Set자료구조를 사용해서 중복 숫자가 나오지 않도록 작성하세요.
       2) 추출된 6개의 숫자를 오름차순으로 정렬해서 출력하세요.

 

 

의도

Set 자료구조 사용

TreeSet의 오름차순 기능 사용

size() 메소드로 원소 개수 구하기

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220707/TreeSetLottoHw.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_07_07;

import java.util.Random;
import java.util.TreeSet;

public class TreeSetLottoHw {

	public static void main(String[] args) {

		TreeSet lotto = new TreeSet();
		Random r = new Random();

		while (lotto.size() < 6) {
			lotto.add(r.nextInt(45) + 1);
		}

		System.out.println("로또 번호 : " + lotto);

	}

}

 

 

출력

 

 과제
2022.06.27 / Hw2

구구단(2~9단)의 연산 결과를 2차원 배열에 저장하고,
 배열에 저장된 결과를 이용해서 구구단을 출력하는 
프로그램을 작성하세요?

 

 

의도

2차원 배열의 이해

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220627/Hw2.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_06_27;

public class Hw2 {

	public static void main(String[] args) {

//	    2. 구구단(2~9단)의 연산 결과를 2차원 배열에 저장하고,
//	       배열에 저장된 결과를 이용해서 구구단을 출력하는 
//	       프로그램을 작성하세요?

		int[][] gugudan = new int[8][9];

		// 저장하기
		int r, c;
		for (r = 0; r < 8; r++) {
			for (c = 0; c < 9; c++) {
				gugudan[r][c] = (r+2)*(c+1);
			}
		}
		
		//출력하기
		for (r = 0; r < 8; r++) {
			for (c = 0; c < 9; c++) {
				System.out.print(gugudan[r][c] + "\t"); 
			}
			System.out.println();
		}

	}

}

 

출력

과제

2022.06.23 / Hw2

구구단(2~9단)을 열방향(세로방향)으로 출력하는 프로그램을 작성 하세요?

 

 

의도

중첩 for문의 활용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220623/Hw2.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_06_23;

public class Hw2 {

	public static void main(String[] args) {

		/*
		 * 구구단(2~9단)을 열방향(세로방향)으로 출력하는 프로그램을 작성 하세요?
		 */

		for (int i = 0; i <= 9; i++) {

			System.out.println();

			for (int dan = 2; dan <= 9; dan++) {
				if (i == 0) {
					System.out.print(" [" + dan + "단]\t\t");

				} else {
					System.out.print(dan + " * " + i + " = " + dan * i + "\t");
				}
			}

		}

	}

}

 

 

 

출력

예시

 

과제

2022.06.22 / Hw1


      키보드로 3개의 정수를 입력 받았을때 최대값과
      최소값을 구하는 프로그램을 작성 하세요?
      (단, 조건 연산자를 활용해서 작성하세요.)

 

 

의도

Scanner 객체 사용해서 키보드로 입력받기

삼항연산자의 활용

 

 

깃허브

https://github.com/kindacool/Hw/blob/main/HW20220622/Hw1.java

 

GitHub - kindacool/Hw

Contribute to kindacool/Hw development by creating an account on GitHub.

github.com

 

 

코드

package p2022_06_22;

import java.util.Scanner;

public class Hw1 {

	public static void main(String[] args) {

		int n1, n2, n3, max, min;
		Scanner sc = new Scanner(System.in);
		n1 = sc.nextInt();
		n2 = sc.nextInt();
		n3 = sc.nextInt();

		// 내 풀이
		max = (n1 > n2) ? ((n1 > n3) ? n1 : n3) : ((n2 > n3) ? n2 : n3);
		min = (n1 < n2) ? ((n1 < n3) ? n1 : n3) : ((n2 < n3) ? n2 : n3);
		System.out.println("max = " + max);
		System.out.println("min = " + min);

		// 다른 방법으로 풀기
		max = (n1 > n2 && n1 > n3) ? (n1) : ((n2 > n3) ? n2 : n3);
		min = (n1 < n2 && n1 < n3) ? (n1) : ((n2 < n3) ? n2 : n3);
		System.out.println("max = " + max);
		System.out.println("min = " + min);

		// 강사님 풀이
		max = (n1 > n2) ? n1 : n2;
		max = (max > n3) ? max : n3;

		min = (n1 < n2) ? n1 : n2;
		min = (min < n3) ? min : n3;
		System.out.println("max = " + max);
		System.out.println("min = " + min);

		sc.close();
	
	}

}

 

 

+ Recent posts