전체 글 106

[Java 연습 문제] Text file 입출력

문제텍스트 파일의 이름을 main 함수의 argument로 받아서 파일의 내용을 요약해서 출력.터미널에서 java FileDetails Yesterday.txt 하면 txt파일을 넘겨주면서 실행한다. Text file/* Yesterday.txt */YesterdayYesterday, All my trouble seemed so far awayNow it looks as though they're here to stayOh, I believe in yesterdaySuddenly, I'm not half the man I used to beThere's a shadow hanging over meOh, yesterday came suddenlyWhy she had to go, I don't know sh..

[Java] Getter / Setter 메소드

Getter / Setter 메소드는 객체 지향 프로그래밍에서 클래스의 캡슐화를 실현하는 중요한 도구다. Getter 메소드클래스의 private 필드에 저장된 값을 외부에서 읽을 수 있도록 한다.필드의 값을 반환한다.일반적으로 'get' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. Setter 메소드클래스의 private 필드에 새로운 값을 할당(수정)할 수 있도록 한다.전달된 값을 필드에 할당한다.일반적으로 'set' 이라는 접두사를 붙이고, 뒤에 필드 이름을 붙여서 메소드 이름을 만든다. 코드public class Person { private String name; private int age; // Getter for name public Str..

Java 2024.08.28

[Java] 08. 참조 타입

Chapter 1: 참조 타입값 타입과 참조 타입 비교참조 타입 변수의 선언과 해제초기화되지 않은 참조 타입 변수값 타입의 비교와 참조 타입의 비교같은 객체에 대한 여러 변수의 참조메소드 파라미터에 참조 타입 사용Chapter 2: enum 타입enum 타입 선언enum 값 비교enum 타입 메소드enum 생성자Chapter 3: 공통 참조 타입Exception 클래스String 클래스String 클래스 메소드, 연산자String 값 비교String 비교 연산자Chapter 4: 객체 계층 구조Object 타입공통 메소드Chapter 5: Java 패키지Java 패키지 개요java.lang 패키지java.util 패키지java.io 패키지기타 유용한 패키지Lab 8-1 참조 타입 변수를 선언하고 사용Ch..

Java 2024.08.28

[자료구조] 삽입 정렬 (Insertion Sort)

삽입 정렬(Insertion Sort)정렬되어 있는 리스트에 새로운 레코드를 적절한 위치에 삽입하는 과정을 반복.앞에서부터 정렬된다. 코드import java.util.Scanner;// 삽입 정렬public class InsertionSort { public void sort(int[] array) { for (int i=1; i = 0; j--) { if (key > "); Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); String[] s = input.split(","); int[] array = new int[s...

[자료구조] 선택 정렬 (Selection Sort)

선택 정렬(Selection sort)요소들 중에서 가장 작은 값을 찾아서 배열의 첫번째 요소와 교환.첫번째 요소를 제외한 나머지 요소들 중에서 가장 작은 값을 선택하고, 이를 두번째 요소와 교환.앞에서부터 하나씩 정렬.(요소의 수 -1) 만큼 반복.  코드import java.util.Scanner;// 선택 정렬public class SelectionSort { public void sort(int[] array) { for (int i=0; i > "); Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); String[] s = input.split(",");..

[Java 연습 문제] 분수 계산(덧셈, 뺄셈, 곱셈) 코드

유클리드 호제법(Euclidean Algorithm) - 최대공약수 구하기2개의 자연수 또는 정식(整式)의 최대공약수(Greatest Common Divisor)를 구하는 알고리즘의 하나.2개의 자연수 a, b에 대해서 (a > b)일때, r = a%b라 하면 (a, b)의 최대 공약수는 (b, r)의 최대 공약수와 같다.(b, r)은 다시 r1 = b%r, 이는 (b, r)의 최대 공약수는 (r, r1)의 최대 공약수와 같다. 이를 오른쪽 수(나머지)가 0이 될때까지 반복한다.오른쪽 수(나머지)가 0이 되면 왼쪽 수가 최대 공약수다./* Rational.java */public class Rational { private int numerator; // 분자 private int deno..

[Java 연습 문제] 은행 계좌 문제

문제 1) BankAccount 클래스 캡슐화 - private, getter/setter문제 2) 계좌 번호 생성문제 3) withDraw, deposit 메소드 추가+ 추가 Lab 8-1) 계좌 이체 메소드: transferFrom+ 추가 Lab 9-1) 계정 유형 enum: AccountTypeimport java.math.*;import java.util.*;public class BankAccount { private long accountNumber; private String ownerName; private BigDecimal balance; // 연습 2) 계좌 번호 생성. private static long nextAccountNo; private st..

[Java] 07. 객체지향 프로그래밍 기본

Chapter 1: 클래스(Class)와 객체(Object)클래스(Class)객체(Object)추상화(Abstraction)Chapter 2: 캡슐화(Encapsulation)데이터와 메소드의 결합접근 가시성 제어왜 캡슐화를 해야 하는가?객체 데이터정적 메소드 사용Chapter 3: Java와 객체지향Hello, World Revisited단순한 클래스 정의새 객체 인스턴스화this 키워드포함된 클래스 생성포함된 클래스에 접근Lab 7-1 클래스를 만들고 사용Chapter 4: 객체지향 시스템 정의상속(Inheritance)클래스 계층구조(Hierarchy)단일/다중 상속다형성(Polymorphism)추상 클래스(abstract class)인터페이스(interface)Early/Late bindingCh..

Java 2024.08.27

[Java] 06. 배열

Chapter 1: 배열 개요Java에서 배열 표기법배열의 차원배열 요소에 접근배열의 경계 검사배열과 컬렉션 비교Chapter 2: 배열 생성배열 인스턴스 생성배열 요소 초기화다차원 배열 요소 초기화가변 길이 배열계산된 크기를 가진 배열 생성배열 요소 복사Chapter 3: 배열 사용배열의 크기배열 메소드메소드에서 배열 return배열을 파라미터로 전달명령줄 인자데모: 명령줄 인자 사용foreach 문에서 배열 사용Lab 6-1: 배열의 생성과 사용Chapter 1: 배열 개요- 배열은 요소를 순서대로 모아서 관리하기 위해 만들어진 자료구조다.- 배열의 모든 요소는 같은 타입을 가진다.- 인덱스 0부터 시작하는 각각의 요소에는 정수 인덱스를 사용해서 access한다.- 자바의 모든 Type을 배열로 만들..

Java 2024.08.25

[Java] 배열의 출력, 비교, 복사, 정렬

import java.util.Arrays;Arrays 클래스는 배열을 조작하는데 유용한 다양한 메소드들을 지원한다.Arrays.toString(), Arrays.equals(), Arrays.indexOf(), Arrays.indexOfRange(), Arrays.sort(), Arrays.binarySearch(), Arrays.copyOf(), Arrays.copyOfRange(), Arrays.fill() 0. 배열의 복제: clone()Java의 배열 인스턴스는 clone() 메소드 하나만을 지원한다.대신 java.util.Arrays 클래스에서 배열과 관련된 유용한 메소드를 제공한다./* clone() 예시 */int[] row = {1,2,3,4};int[] row2 = row.clone()..

Java 2024.08.25