switch case문이다. 자주 쓰이고 쉽지만... 모르면 고뇌할 일이 많아진다. -ㅅ-ㅋ
switch case에서 조건문에 관한 부분이 참 헷갈렸다. 입력받은 수를 int형에 넣고, switch case 문에서 조건을 범위로 주니... 범위가 먹히질 않는다. " "으로 묶은 부분을 봐선 string형으로 비교를 하는 것 같은데,,,,
라는 생각을 했다. 알고보니 switch case문은 int형으로 비교를 한다. 범위를 검색하려면 switch case문 이전에 미리 범위를 주어야 한다. 그렇지 않으면 Cannot implicitly convert type 'int' to 'string' 이러한 메시지를 만날 수 있다. 해석을 하면 string형을 int로 묵시적으로 변환할 수 없다 라는 에러다. 즉, int로 써야되는데 왜 string을 쓰냐 이거다.
switch case는 int를 쓰자. ㅎㅎ
switch case에서 조건문에 관한 부분이 참 헷갈렸다. 입력받은 수를 int형에 넣고, switch case 문에서 조건을 범위로 주니... 범위가 먹히질 않는다. " "으로 묶은 부분을 봐선 string형으로 비교를 하는 것 같은데,,,,
라는 생각을 했다. 알고보니 switch case문은 int형으로 비교를 한다. 범위를 검색하려면 switch case문 이전에 미리 범위를 주어야 한다. 그렇지 않으면 Cannot implicitly convert type 'int' to 'string' 이러한 메시지를 만날 수 있다. 해석을 하면 string형을 int로 묵시적으로 변환할 수 없다 라는 에러다. 즉, int로 써야되는데 왜 string을 쓰냐 이거다.
switch case는 int를 쓰자. ㅎㅎ
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
-
using Com.JumBo.Logic;
-
-
/*
-
* 문제 내용 : 15를 16진수로 변환하자.
-
* 학습 내용 : switch ~ case 사용법을 익힌다.
-
* 힌트 내용 : if문에서 else if 가 많거나, 조건식이 string 또는 int이면 if 대신 switch를 사용한다.
-
* */
-
-
-
namespace Console_Test
-
{
-
public class Program
-
{
-
static void Main(string[] args)
-
{
-
Console.WriteLine("0~15사이의 수를 16진수로 바꾸기.");
-
int iNum1 = int.Parse(Console.ReadLine());
-
Calc.Oper(iNum1);
-
}
-
}
-
}
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
-
namespace Com.JumBo.Logic
-
{
-
public class Calc
-
{
-
public static void Oper(int n)
-
{
-
switch(n){
-
case 1:
-
case 2:
-
case 3:
-
case 4:
-
case 5:
-
case 6:
-
case 7:
-
case 8:
-
case 9: Console.WriteLine("입력하신 수를 16진법으로 변환하면 {0}입니다.", n);
-
break;
-
case 10:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 A 입니다.");
-
break;
-
case 11:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 B 입니다.");
-
break;
-
case 12:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 C 입니다.");
-
break;
-
case 13:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 D 입니다.");
-
break;
-
case 14:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 E 입니다.");
-
break;
-
case 15:
-
Console.WriteLine("입력하신 수를 16진법으로 변환하면 F 입니다.");
-
break;
-
default:
-
Console.WriteLine("입력하신 수는 16을 넘어갑니다.");
-
break;
-
}
-
}
-
}
-
}
이 문제의 출처는
c#프로그래밍 기본기 익히기, 정보문화사
'Language > C#' 카테고리의 다른 글
c# do while문 (0) | 2011.12.24 |
---|---|
c# while문의 사용 (0) | 2011.12.24 |
c# 친화수 구하기 (0) | 2011.12.12 |
c# 연산자~! (0) | 2011.12.10 |
c#, 짝수와 홀수의 합 구하기. c#에서 class를 이용한다. (2) | 2011.12.09 |