개발/국비교육
-
(국비교육) 13 - ArrayList + Set + Map + stack + Queue + 아이디 비밀번호 일치여부개발/국비교육 2023. 6. 19. 13:53
■ ArrayList (p. 557) - 자료구조 - 컬랙션 하위 arrayList 타입 - 이름도 배열이 들어가고, 배열과 흡사하다. - 배열보다 쉽다. 기존의 배열의 경우 배열이 고정되었다면 ArrayList 는 고정되어 있지 않다. ArrayList 는 출력문에 바로 객체를 불러주면 바로 배열을 보여준다. System.out.println(arr01); * add() 값대입은 add() 를 이용하면 된다. arr01.add(10); arr01.add(15); arr01.add(20); 를 하게 되면 순차적으로 [10, 15, 20] 배열값이 들어간다. ArrayList 는 반드시 입력받는 타입이 일치해야 한다. 단 데이터 타입이 일치하는 변수는 가능하다. 즉 arr01 의 타입을 Integer 로 ..
-
(국비교육) 12 - 오버로딩 + 오버라이딩 + 생성자 + this() + static + 정보처리기사 문제개발/국비교육 2023. 6. 16. 17:51
■ 지난주 복습 * add 메소드 생성하여 호출해보기 add 메소드 호출하여 입력받은 두 값을 더하고 출력한다. ■ 메소드 오버로딩 파라미터 갯수가 다르면 다른 메소드라고 인지하고 같은 이름을 쓸 수 있다. 그러나 갯수가 같다면 같은 메소드라고 인식하여 오류가 뜬다. 파라미터 내 갯수가 같아도 다른 데이터타입을 가진다면 다른 메소드라고 인식한다. 즉, 이름이 같아도 파라미터의 수, 순서, 타입(시그니쳐)이 다르면 다른 메소드로 인지 (=메소드 오버로딩) - 메소드 오버로딩(overloading) 같은 이름의 메소드를 중복하여 정의하는 것을 의미한다. 자바에서는 원래 한 클래스 내에 같은 이름의 메소드를 둘 이상 가질 수 없는데, 매개변수의 개수나 타입을 다르게 하면 하나의 이름으로 메소드를 작성할 수 있..
-
(국비교육) 11 - 클래스 생성(동물원) + 참조값 + 객체특징 + Run Configurations + UP&DOWN + 타노스 손가락개발/국비교육 2023. 6. 15. 17:49
■ 사람 클래스 만들어보기 사람 클래스에서 필드와 메소드를 생성한다. 필드에는 사람에게 필요한 정보를 입력한다. (이름, 나이, 성별, 주민번호, 주소) 메소드에는 객체의 행동을 만들어준다. (자기, 말하기, 일하기, 먹기) ※ 접근제어자 - public - package - private - protected 사용자에게 각 정보를 입력받을 수 있도록 input() 이라는 메소드를 만들어준다. 입력받은 내용을 각 필드값으로 저장해주고, print() 메소드에서는 이러한 필드값을 출력하게 만들어준다. 실행을 위해 메인 메소드에 human 이라는 객체를 인스턴스화(객체생성) 해주고, human.메소드 이름을 통해 각 메소드를 실행해준다. ■ 객체의 참조값 객체 h 를 생성하고 man 이라는 배열을 만들어준다..
-
(국비교육) 10 - 가위바위보 승률 + spilt + 객체지향 + 클래스 생성 + 메소드 + .sort개발/국비교육 2023. 6. 14. 15:58
■ 가위바위보 입력받아 랜덤값과 비교하여 10판의 승률 나타내기 입력받은 가위바위보 값을 랜덤값과 비교하여 10판의 승률을 나타내기 위해서는 1. 랜덤값을 출력하고 2. 10개의 경기를 반복하고 3. 랜덤값과 입력값을 비교하고 4. 승률 로 나타내야 한다. 먼저 랜덤값을 출력하기 위해 Math.random() 을 사용하는데 1부터 3까지 사용함으로 Math.random() * 3 + 1 을 해준값을 랜덤값 result 로 설정한다. 이후 10개의 경기를 반복하기 위해서는 for 문을 이용한다. input 값으로 대상자에게 1 ~ 3 까지 값을 입력 받고 이를 비교할 것인데 나올 수 있는 input 값 1, 2, 3 의 케이스를 if 로 따져서 넣어주면 된다. 나의 경우 1 가위 2 바위 3 보 로 지정했..
-
(국비교육) 9 - 패턴 + 아스키 코드 시계 + switch + 동적 가변 배열 + 배열복사개발/국비교육 2023. 6. 13. 22:34
■ 프로그램에서 6자리 랜덤숫자 뽑기 내가 사용한 방법은 배열을 선언하여 출력했다. 6자리 랜덤한 숫자로 6까지 길이를 설정하고, 반복되는 숫자를 1 ~ 9까지 나와야 함으로 Math.random() * 9 + 1 로 설정했다. 이를 print 로 붙여서 출력하면 랜덤한 6자리 숫자가 나온다. ■ 암호키 뽑기 (영문대문자 + 숫자) 암호키 설정을 위해서는 패턴을 이용해준다. 패턴은 EENNN - NNNNN - EEEEE - NNEEE - EEEEE 과 같다. 따라서 초기 패턴을 배열에 선언해준다. E = 0, N = 1, - = 2 로 설정하고 각 배열을 우선 넣어준다. 그리고 반복문을 통해 출력하는데 만약 0과 같다면 영문 대문자, 1과 같다면 숫자, 2와 같다면 - 기호가 나온다. 패턴이 영문자가 나..
-
(국비교육) 8 - 알고리즘 + 제어문 + do while + 숫자 랜덤뽑기 + 로또개발/국비교육 2023. 6. 12. 17:51
■ 알고리즘 * 알고리즘 - 수학과 컴퓨터 과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차 - 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서. - 산법, 셈법, 계산절차. ■ 반복문 제어 (break, continue) * break break 를 쓰면 for 과 i++ 영향을 받는다. break 는 가장 가까운 반복문을 탈출합니다. 따라서 해당 반복문을 실행하면 1만 출력된다. 출력문이 if 밖에 들어가 있는 경우 1 2 3 4 까지는 돌지만, 5 는 같기 때문에 break 가 걸려 출력되지 않는다. Unreachable code 발생 왜냐하면 break 뒤에 출력문이 있기 때문에 절대 실행되지 않는 코드이기 때문이다. 따라서 break, continue 뒤에는..
-
(국비교육) 7 - 랜덤 + 2차원 배열 + 로또뽑기 + N자 그리기 + 중복값 제거개발/국비교육 2023. 6. 9. 17:50
■ 지난 학습 복습 * 주소값 출력 System.out.println(arr01); * 번지에 저장된 값 출력 System.out.println(arr01[0]); ■ 사용자가 점수 입력하면 배열에 넣고 출력하기 사용자가 입력한 점수를 입력하면 가져오게끔 하기 위해서는 Scanner 를 통해 입력값을 설정할 수 있게 만들어준다. 배열의 마지막까지 반복하기 위해서는 arr01.length 보다 작은 수로 설정한다. sc.nextlnt() 를 통해 input 값을 입력받고, 입력값을 arr01[ i ] 로 설정해서 반복하여 저장한다. 입력한 값의 배열 전체를 출력하기 위해서는 Arrays.toString() 을 이용한다. 각 배열의 값을 구하기 위해서는 System.out.println( arr01[ i ]..
-
(국비교육) 6 - 구구단 출력하기 + %활용문 + 배열개발/국비교육 2023. 6. 8. 17:50
■ 구구단 출력하기 * 2단 출력하기 2단을 출력하기 위해서는 반복되는 i 를 무엇을 넣을지 생각하면 좋다. 계속해서 1 씩 증가한 1 ~ 9 까지의 숫자를 곱해누므로 i 를 1부터 9로 설정한다. System.out.println("2 x " + i + " = " + (2 * i)); 로 표현할 수 있는데 이를 간단하게 표현하는 방법이 바로 아래와 같은 표현이다. System.out.printf("2 x %d = %d\n", i, (2*i)); ※ 활용문 이용하기 %활용문을 사용하면 보다 빠르고 간편하게 나타낼 수 있다. * % %d = 정수 \n = 줄바꿈 %c = 문자 %f = 실수 %b = 불리언 %o = 8진수 %s = 문자열 %x = 16진수 %활용문을 사용하기 위해서는 printf 를 사용해..