구구단 예제:
콘솔창에 원하는 숫자를 입력하고 그 숫자에 따른 구구단을 9까지 나열하라
구구단1단
구구단123단
코드:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System ;
using System .Collections.Generic;
using System .Linq;
using System .Text;
namespace Syntax02
{
class Program
{
static void Main(string [] args)
{
Console .WriteLine ("구구단중에 원하는 단을 입력해주세요. " );
string name = Console .ReadLine();
int number = 0 ;
bool canConvert = int .TryParse(name, out number);
if (canConvert = = true )
{
for (int i = 1 ; i < = 9 ; i+ + )
{
int a = Convert.ToInt32(name);
Console .WriteLine ("{0} X {1} = {2}" ,name,i, a* i );
}
}
else
{
Console .WriteLine ($"{name}은 숫자가 아닙니다!" );
}
}
}
}
string name = Console .ReadLine(); 을 이용해 콘솔창에 입력된 숫자를 변수에 대입
int a = Convert.ToInt32(name); 을 이용해 변수에 대입된 숫자(string형태)를 int32형태로 변환하고 그것을 변수a에 int형태로 대입
int number = 0 ; tryparse를 이용하기 위해 변수를 하나 더 만들어준다. (아직 배우지 못한 내용이라서 정확한 의미는 모르겠다. 참조: https://docs.microsoft.com/ko-kr/dotnet/api/system.int32.tryparse?view=netframework-4.8 )
bool canConvert = int .TryParse(name, out number); bool형식의 변수 canConvert를 만들어 밑에 쓰여질 if문의 조건에 사용한다. 그리고 tryparse를 이용해 변수 name에 대입된 값이 int 형태로 변환가능하면 true, 불가능하면 false를 나타낸다
if (canConvert = = true ) --> 변수 canConvert가 true 이면(변수 name을 int형태로 변환가능) 본문을 실행
for (int i = 1 ; i < = 9 ; i+ + )
{
Console .WriteLine ("{0} X {1} = {2}" ,name,i, a* i );
}
for 루트를 이용해 구구단의 반복되는 부분을 쉽게하고 합성 서식 문자열 을 이용해 출력될 값을 정의해준다.
else
{
Console .WriteLine ($"{name}은 숫자가 아닙니다!" );
}
else문을 이용해 변수 canConvert가 true가 아닐 경우(변수 name이 int형태로 변환 불가) 아래 본문을 실행한다. 이때 사용한 문자열 표현식은 특수문자 $를 이용한 문자열 이 보간된 문자열 리터럴이다. (참조:https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/tokens/interpolated )