자바(JAVA)/미니 프로젝트 & 기초 공부 11

Java 기초 다시 공부하기 9주차 - 연습 문제 풀이 1

1번 - 입력된 정수 자료형의 숫자를 거꾸로 변환하는 프로그램 작성입력결과1234554321-12345-54321100100 public class Practice1 { public static void solution(int num) { int numReverse = 0; boolean isMinus = false; if (num 0) { int r = num % 10; num /= 10; numReverse = numReverse * 10 + r; } System.out.println(isMinus ? numReverse * -1 : numReverse); } p..

Java 기초 다시 공부하기 8주차 - 람다식, 스트림

1. 람다 표현식(Lambda Expression)메서드 대신 하나의 식으로 표현하는 것→ 익명 함수 (Anonymous function)반환타입 메서드이름 (매개변수, ...) { 실행문}public int sum (int x, int y) { return x+y;}(매개변수, ...) -> {실행문...}(int x, int y) -> {return x+y;}1) 장점코드가 간결해져 가독성이 높아짐생산성이 높아짐2) 단점익명함수이므로 재사용 불가디버깅이 어려움재귀함수로는 맞지 않음* 예제 실습interface ComputeTool { public abstract int compute(int x, int y); public abstract int compute2(int x, int y);}p..

Java 기초 다시 공부하기 7주차 - 인터페이스, 내부클래스/익명클래스, 입출력, 예외 처리, 컬렉션 프레임워크

1. 인터페이스다중 상속처럼 사용할 수 있는 기능추상 메서드와 상수만으로 이루어짐접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 반환타입 메서드이름(매개변수); ...}class 클래스이름 implements 인터페이스이름 { ...}1) 상속과 인터페이스 동시 사용동시 사용으로 다중 상속과 같은 효과접근제어자 interface 인터페이스이름 { ...}접근제어자 class 클래스이름 { ...}class 클래스이름 extends 클래스이름 implements 인터페이스이름 { ...}2) 예제 실습// Java 기초 - 인터페이스// School 인터페이스interface School { public static..

Java 기초 다시 공부하기 6주차 - 클래스와 객체, 상속, 다형성, 추상 클래스

1. 클래스와 객체1) 클래스객체를 정의하는 설계도객체 변수(멤버 변수)와 메서드로 이루어짐public class 클래스명 { // 객체 변수 // 메서드 // +접근제어자 // +static}클래스명 객체명 = new 클래스명(); 2) 객체/인스턴스(1) 객체(Object)실체(2) 인스턴스(Instance)클래스와 객체의 관계인스턴스화: 클래스로부터 객체 선언어떤 객체는 어떤 클래스의 인스턴스일 수 있음3) 생성자(Constructor)객체가 생성될 때 자동으로 호출생성자 규칙- 클래스명과 이름 맞추기- 리턴 타입 없음public class 클래스명 { 클래스명(){}}4) this, this()(1) this객체 자신을 의미(2) this()생성자5) 오버로딩(Overloading)한 클래스 내에..

Java 기초 다시 공부하기 5주차 - Java, 변수와 자료형, 연산자, 조건문, 반복문, 다차원 배열

1. Java- 독립적인 플랫폼: 운영체제에 따라 코드를 재작성하는 과정이 필요없음- 객체 지향 언어: 절차 지향적 언어에 비해 생산성과 보안성이 높음- 자바 프로그램 작성/실행 과정 - 활용: 웹/모바일/엔터프라이즈 애플리케이션, 웹/앱 서버- 플랫폼: Java SE(Standard Edition/기본 개발 환경), Java EE(Enterprice Edition/서버 기반 프로그램 개발 환경),               Java ME(Micro Edition/모바일, 임베디드 시스템 개발 환경)2. 변수와 자료형1) 변수(Variable)- 데이터를 저장하는 메모리 공간에 붙여준 이름int age = 20;String country = "Korea"; - 이름 규칙: 문자와 숫자, _(undersco..

Java 기초 다시 공부하기 4주차 - 달력 출력 프로그램, 가상 대선 당선 시뮬레이션 프로그램

1. 달력 출력 프로그램 1) 조건입력받은 년도와 월을 통해 달력 출력 - 입력한 달 기준으로 이전달/입력달/다음달 출력(3달 출력)날짜는 LocalDate 클래스 이용(Calendar와 Date 클래스도 이용 가능)이미지와 같은 형식으로 출력2) 코드import java.time.DayOfWeek;import java.time.LocalDate;import java.util.Scanner;public class MiniTask5 { public static String[] makeCalendar(int year, int month) { // 월이 12월을 넘어가거나 1월 이전으로 가는 경우 조정 if (month > 12) { year += (month..

Java 기초 다시 공부하기 3주차-놀이동산 입장권 계산 프로그램 구현, 주민등록번호 생성 프로그램 구현

1. 놀이동산 입장권 계산 프로그램 구현1) 조건Scanner의 입력함수와 다중 조건문 사용입장료 할인은 중복 적용되지 않으며, 중복 시 가장 할인을 많이 받은 금액으로 정해짐나이-입장시간-국가유공자 여부-복지카드 여부 순으로 입력받기기본 입장료 10000원, 3세 미만이면 무료 입장, 국가유공자거나 복지카드가 있따면 일반 할인(8000원), 13세 미만이거나 17시 이후에 입장하면 특별 할인(4000원)출력 화면은 다음과 같이 구현(이미지 참고)2) 코드import java.util.Scanner;// 자바 기초 미니과제 3: 놀이동산 입장권 계산 프로그램public class MiniTask3 { // 입장료 계산 메서드 private static String admissionFeeCal(..

Java 기초 다시 공부하기 2주차-콘솔 화면에 구구단 1~9단 출력하기, 결제 금액 캐시백 계산 프로그램 구현

1. 콘솔 화면에 구구단 1~9단 출력하기1) 조건다중 반복문 이용String.format 함수 사용아래 이미지와 동일한 레이아웃으로 출력2) 코드// 자바 기초 미니과제 1: 콘솔 화면에 구구단 1~9단 출력하기public class MiniTask1 { public static void main(String[] args) { System.out.println("[구구단 출력]"); // 1~9에 1~9 곱하기 for (int j = 1; j 3) 출력 결과4) 회고구구단이라...프로그래밍을 잘 이해한 사람들이라면 식은 죽 먹기일 수도 있겠지만, 난 사실 이번 과제를 하기 전까지는 구구단도 남의 코드를 봐야했다.... 이번에 드디어 내 손으로 코드를 직쩝 짜니..

Java 기초 다시 공부하기 1주차-수강관리 프로그램 메뉴 선택 구현, 대통령 취임사 알파벳 별 출현 빈도 구현

1. 수강관리 프로그램 메뉴 선택 구현1) 조건숫자만 입력하고 그 외 입력은 하지 않음Scanner 클래스의 nextInt 함수 이용시작화면은 다음과 같이 구현(이미지 참고)1 입력 후 엔터 -> "회원 관리 메뉴를 선택했습니다." 출력 후 다시 시작 화면으로2 입력 후 엔터 -> "과목 관리 메뉴를 선택했습니다." 출력 후 3 입력 후 엔터 -> "수강 관리 메뉴를 선택했습니다." 출력 후 다시 시작 화면으로4 입력 후 엔터 -> "결제 관리 메뉴를 선택했습니다." 출력 후 다시 시작 화면으로5 입력 후 엔터 -> "프로그램을 종료합니다." 출력 후 프로그램 종료그외 숫자 입력 후 엔터 -> "입력값이 정확하지 않습니다."  출력 후 다시 시작 화면으로2) 코드import java.util.Scanne..

자바(JAVA) 미니 프로젝트-간단한 캘린더 프로그램 만들기 2 (5단계~7단계)

4. 가상의 달력 모양 출력하기 (요일까지는 안 맞춘 버전)*변동사항월을 입력하면 해당 월의 달력이 출력되도록 한다. (*윤년일 경우에는 2월 달력을 29일까지 출력한다.)달력의 모양은 1단계에서 작성했던 모양으로 만든다.-1을 입력받기 전까지 반복 입력받는다.Calendar 클래스가 너무 길어지므로, 메인 함수 부분을 새로 만든 Prompt 클래스로 옮김- Prompt 클래스import java.util.Scanner;public class Prompt { public void runPrompt() { // 스캐너 열기 Scanner sc = new Scanner(System.in); // 자바의 Calendar 클래스를 이름을 정해서 생성 Calendar cal = new Calendar();..