• 검색 결과가 없습니다.

파일입출력및문자열, 응용응용

N/A
N/A
Protected

Academic year: 2022

Share "파일입출력및문자열, 응용응용"

Copied!
18
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

파일 입출력 및 문자열, 응용

(2)

String 클래스

1. String & StringBuilder

A.

String 객체는 고정적, 즉 문자열 자체가 변하지 않음

B.

StringBuilder 객체는 문자열 자체 변경 가능

2. String

A.

다양한 메스드와 속성을 제공

B.

string 인덱서: 문자열을 char 의 배열로 간주 (s[1]…)

C.

CompareTo : 문자열 비교 (같으면 0, 작으면 음수, 크면 양수)

D.

Equals or == : 문자열의 동일 여부 반환

E.

StartsWith 메소드

F.

EndWith 메소드

(3)

콘솔 기반 응용 – 문자열 거꾸로 출력

1.

콘솔 창에 다음과 같이 사용자가 입력한 문자열을 거꾸로 출력하는 프로그램을 개발하시오.

Project: ReverseSentence

Hint)

string 클래스 활용

(4)

콘솔 기반 응용 – 문자열 구분하여 출력

1.

사용자가 입력한 문자열을 공백(“ “)과 콤마(“,”)로 구분하여 출력하는 프로그램을 개발하시오.

Project: StringSplit

(5)

콘솔 기반 응용 – 문자열 비교하여 출력

1.

사용자가 입력한 문자열을 “Hello”와 비교하여 큰지, 작은지, 같은지 출력하는 프로그램을 작성하시오.

2.

조건: 사용자가 exit를 입력하면 종료

Project: StringCompare

(6)

콘솔 기반 응용 – 부분 문자열의 개수 출력

1.

다음과 같은 “abracadabra abracadabra” 문자열이 있다고 가정하자.

2.

사용자가 입력한 부분 문자열이 몇 개 포함되어 있는지 출력하는 프 로그램을 작성하시오.

Project: StringSearch

(7)

콘솔 기반 응용 – 문자열 조작 함수들

1.

Substring 메소드

A.

문자열의 부분을 복사해서 새로운 문자열을 만들어 반환

2.

Concat 메소드 또는 + 연산자

A.

원본 문자열들을 결합한 새 문자열을 만들어 반환

3.

Replace 메소드

A.

문자열의 부분 문자열을 새로운 부분 문자열로 치환한 결과를 새로운 문자열로 만들어 반환

4.

ToLower 메소드

A.

문자열의 소문자 버전을 반환

5.

ToUpper 메소드

A.

문자열의 대문자 버젼을 반환

6.

Trim 메소드

A.

문자열의 모든 공백 문자를 제거한 결과를 새로운 문자로 반환

(8)

콘솔 기반 응용 – 문자열 조작

1.

다음과 같이 “abcdefghijklmnopqrstuvwxyz” 문자열이 있을때 첫번째 문자부터 2개씩 넘어가며 *로 변경하는 프로그램을 작성하시오.

2.

조건) char 배열을 사용하지 않고 구현하시오.

Project: StringModify

(9)

콘솔 기반 응용 – Char 조작 함수

1.

대부분의 메소드는 static 형

A.

IsDigit

B.

IsLetter

C.

IsLetterOrDigit

D.

IsLower

E.

IsUpper

F.

ToLower

G.

ToUpper

H.

IsPunctuation

I.

IsSymbol

Char.IsDigit(character);

Char.IsLetter(character);

Char.IsLower(character);

Char.IsUpper(character);

(10)

파일 입출력 – StreamReader / StreamWriter

1.

StreamReader 예

StreamReader sr = new StreamReader(“filename.txt”);

while(sr.Peek() >= 0) {

string strLine = sr.ReadLine();

//

}

sr.Close();

(11)

파일 입출력 – StreamReader / StreamWriter

1.

StreamWriter 예

StreamWriter sw = new StreamWriter(“filename.txt”);

sw.WriteLine(strLine);

sw.Close();

(12)

파일 입출력 통합 코드

public static void Main(string[] args)

{ StreamWriter sw = new StreamWriter("d:/csharpio.txt");

for (int i = 0; i < 15; i++)

{ string aLine = string.Format("This is a test line {0}", i);

sw.WriteLine(aLine);

}sw.Close();

StreamReader sr = new StreamReader("d:/csharpio.txt");

while (sr.Peek() >= 0)

{ string aLine = sr.ReadLine();

Console.WriteLine("R: " + aLine);

}

sr.Close();

}

(13)

File 클래스

1.

파일 존재 여부 등 확인 방법

A.

File.Exists(“Filename”) == true / false

B.

(14)

콘솔 기반 응용 – 3개 도형 종류 출력

1.

상속 관계를 이용하여 3개 도형에 대하여 종류를 출력하는 코드를 완 성하시오.

2.

조건) 부모 클래스: Shape

자식 클래스: Rectangle, Circle, Triangle

Shape[] sList = new Shape[100];

sList[0] = new Circle();

sList[1] = new Triangle();

sList[2] = new Rectangle();

Method: string getType();

Project: ShapeTypeE - Error ShapeTypeV - Virtual

Hint)

virtual + override

(15)

1.

상속 관계를 이용하여 3개 도형에 대하여 종류 및 크기를 출력하는 코드를 작성하시오.

2.

조건) getType() 함수 구현으로 도형 종류를 판별하지 않고 구현

콘솔 기반 응용 – 3개 도형 종류 출력

class Shape {

}

class Circle : Shape {

}

class Triangle : Shape {

}

class Rectangle : Shape {

Project: ShapeTypeIS

}

(16)

콘솔 기반 응용 – 3개 도형 종류 출력 (Base 활용)

1.

상속 관계를 이용하여 3개 도형에 대하여 종류 및 크기를 출력하는 코드를 작성하시오.

2.

조건) 부모의 getType() 호출하여 구현

Project: ShapeTypeBase

(17)

콘솔 기반 응용 – 클래스 형변환 (is, as)

1.

is 연산자

A.

형변환 가능한지 검사하며 형변환 가능하면 true를 반환

2.

as 연산자

A.

형변환 가능하면 실제로 형변환을 수행하고, 형변환 불가능 시 예외를 발생하지 않고 null 반환

Bird b = (Bird)a; // Unsafe – possible , //InvalidCastException if (a is Bird) // Safe

b = (Bird) a;

b = a as Bird; // Convert, no exception if (b == null) // not a bird

(18)

콘솔 기반 응용 – 다수의 도형 크기 출력

1.

다음과 같이 도형에 대한 정보를 입력받고 크기를 출력하는 프로그 램을 구현하시오.

2.

메뉴 예: Select Action (1. Input Object, 2. Show Size, 3. Exit) ? 1

3.

도형 예: Triangle, Rectangle, Circle

4.

실행 예

Project: ShapeList

참조

관련 문서

실험 은 언제나 새로운 관찰 결과를 만들어 내며 그 결과 처음부터 이 과정을 다시 돌이키게 한다... 화학을 공부하기 위한

노동력 고령화가 노동 생산 성에 부정적인 영향을 끼친다는 기존 연구와 거의 비슷 한 결과를 얻었지만, 노동력 고령화가 인적자본 취업비중 에 미치는 영향에 대한 분석은

실제 얼굴 깊이 영상에 여러 비율의 이진 마스크를 각 부위 별로 적용하여 손실된 부분을 만들어주며 학습용 데이터를 통해 훈련시킨 생성자를 이용하여 손실된 부분을

우리는 드론의 모든 부분을 공부하 고 우리 스스로 작은 드론을 만들어.. 그렇게 “Photo World”에 가입 하는 것으로 너는 새로운 취미를 배우고 상을

다음과 같은 Network모형을 거쳐 완공되는 작업이 있다고 할 때, 고객과의 약속으로 작업완료를 67주차에 끝내기로 약속하였다.

시간에 대하여 황금시간을 적용한 점과 개복술을 시행한 복부외상환자를 대상으로 분석한 점에서 차별성이 있다고 할 수 있다. 그러나 다음과 같은

다음과 같은 직업유형에 있어 각각 부정부패는 현실적으로 어느 정도로 자행되고 있다고 생각 하십니까?. 1 공직분야정치/사법/행정

다음과 같은 행정기능분야에 있어 부정부패는 각각 어느 정도로 만연해 있다고 생각하십니까?. 해당 번 호에 〇 표시를