이렇게 만들어보자.
일단 ArrayList라는 녀석이 어떻게 생겼는지 알아야된다...
나는 ArrayList를 다차원배열로 만들어서 넣으려고 했는데, 안된다. -ㅅ-;
어떻게 넣어야 할지, 구조적으로 잘 들어오지는 않았지만, Add라는 함수를 이용하여 차곡차곡 쌓을 수 있는듯...
그리고 string의 method 중에서 Concat이라는 method를 이용하여 카드패턴(♠◆♥♣)과 숫자를 합쳤다.
Card.Add(pattern[i] + cardNum[j]); 과 같이 "+"를 이용하여 붙일 수 있지만... method를 하나라도 더 써보자는 목적에서 Concat을 썼다. 그리고 책에도 Concat을 썼다. ㅎㅎ
아래는 코드다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HEK_Exer;
using System.Collections;
/*
* 문제 내용 : 서로 다른 카드 52장을 만들어 보자.
* 학습 내용 : Collection 계열 ArrayLIst를 만들어보자.
* 힌트 내용 : Array + List 배열과 비슷하면서 순서대로 저장하고 사용할 수 있는 클래스다.
* */
namespace HEK_Exercise
{
public class Program
{
/*
* list 앞뒤로 바꾸기
* 알파벳-숫자로 정렬
// */
public static void Main(string[] args)
{
HEK_Exer.HEK_Exer exer = new HEK_Exer.HEK_Exer();
ArrayList a = exer.CardList();
//일반 ArrayList 출력
exer.PrintCard(a);
Console.WriteLine("-------------------------------------------");
//알파벳-숫자로 정렬
exer.Sort(a);
exer.PrintCard(a);
Console.WriteLine("-------------------------------------------");
//list 앞뒤로 바꾸기
exer.Reverse(a);
exer.PrintCard(a);
Console.WriteLine("-------------------------------------------");
}
}
}
/*
* 이 문제의 출처는 c#프로그래밍 기본기 익히기
* , 정보문화사, 조효은지음
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace HEK_Exer
{
public class HEK_Exer
{
string[] pattern = { "♠", "◆", "♥", "♣" };//{ "S", "D", "H", "C" };
string[] cardNum = { "A", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
//♠◆♥♣ 순서. A23456789TJQK 순서.
public ArrayList CardList()
{
ArrayList Card = new ArrayList();
for (int i = 0; i < pattern.Length; i++)
{
for (int j = 0; j < cardNum.Length; j++)
{
Card.Add(string.Concat(pattern[i], cardNum[j]));
//Card.Add(pattern[i] + cardNum[j]);
//Card = pattern[i].Insert(i,cardNum[j]);
}
}
return Card;
}
public void PrintCard(ArrayList card)
{
for (int i = 0; i < card.Count; i++)
{
Console.Write("{0} ", card[i]);
if ((i + 1) % cardNum.Length == 0)
{
Console.WriteLine();
}
}
}
public void Reverse(ArrayList a)
{
a.Reverse();
}
public void Sort(ArrayList a)
{
a.Sort();
}
}
}
'Language > C#' 카테고리의 다른 글
디버깅 걸지 않고 예외 throw 하는 방법 (0) | 2014.04.10 |
---|---|
[c#] 2진수 변환 (0) | 2012.03.28 |
[c#]char 사용법 (0) | 2012.03.20 |
[c#]string 사용법 (0) | 2012.02.17 |
[c#] params 키워드 사용법 (0) | 2012.01.20 |