using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ex07Method
{
class Program
{
static void Main(string[] args)
{
//Box 그리기 ( 20 * 20 , '*' )
//***************************
//* *
//* *
//* *
//***************************
Console.Write("박스 그리기에 사용할 문자 : ");
string unit = Console.ReadLine();
//넓이, 높이를 입력받아서 그대로 박스 그리기
int nums_1, nums_2; // 넓이와 높이 변수 생성
//Console.Write("높이 입력 : ");
//nums_1 = int.Parse(Console.ReadLine());
//Console.Write("넓이 입력 : ");
//nums_2 = int.Parse(Console.ReadLine());
//간단히 메서드를 활용하여 높이 넓이 입력 방법
nums_1 = InputInt("박스의 높이 : "); //높이를 입력하면 InputInt메서드의 return 값을 nums_1에 저장
nums_2 = InputInt("박스의 넓이 : ");
//메서드 호출
DrawBox(unit, nums_1, nums_2); // DrawBox 에 unit 을 전달
// 높이와 넓이도 뒤에 써주어 전달
}
private static int InputInt(string message) // 박스의 높이/박스의 넓이 string을 받아온다
{
Console.Write("{0} : ", message); // 받아온 string 값을 출력
int data = int.Parse(Console.ReadLine()); // 입력된 값 data 에 저장
//메서드를 종료하고 호출하는 곳으로 data를 반환
//반환되는 데이터는 타입은 메서드 선언부에 표시되어야 합니다.
//복수의 데이터를 반환할 수 없습니다.
return data; //입력한 값을 return 시킨다.
}
//★쉽게 메서드 만들기★ 메서드만들려는 소스를 블록을 지정을 하고 마우스 오른쪽 클릭
//리팩터링 - > 메서드 추출 후 이름 이정하고 확인하면 바로 만들어진다.
// 메서드 정의
private static void DrawBox(string unit, int nums_1, int nums_2) // unit 내용 전달 받아 unit 출력
{
for (int i = 1; i <= nums_1; i++)
{
for (int j = 1; j <= nums_2; j++)
{
if (i < 2 || i == nums_1 || j == 1 || j == nums_2)
{
Console.Write(unit);
}
else
{
Console.Write(" ");
}
}
Console.WriteLine();
}
}
}
}
/**************************************************************
* Method
* 1. 실행문 집한 (하나 이상의 실행문을 모아둔 것)
* 2. 모듈화 / 재사용
* 3. 형식
* 결과형 이름(전달인자 목록)
* {
* 실행문;
* }
* 4. 메서드는 정의와 호출 로 작동됩니다.
* 정의 : 메서드를 만드는 것
* 호출 : 메서드의 코드가 실행되로록 하는 것
*
* {...}
* ==> 중괄호 안에서 선언된 이름은 선언된 중괄호 내부에서만 사용가능
*
*
* ************************************************************/
'프로그램 > C# - Study' 카테고리의 다른 글
5D - 메소드, 오버로딩 (0) | 2010.09.10 |
---|---|
5D - 메소드 전달인자 ( ref, out ) (0) | 2010.09.10 |
4D - for문 (0) | 2010.09.09 |
4D - while문 , continue 제어, goto 제어 (0) | 2010.09.09 |
4D - while문 반복문 (0) | 2010.09.09 |