我正在創建一個二十一點遊戲,到目前爲止,我已經做了一個卡類。卡類的工作,但是當我去測試我的卡類,當它測試3異常應該趕上,因爲「X」不在值數組,但由於某種原因,它不捕獲和顯示X而不是錯誤消息「輸入無效」。我想要發生的是我的值集訪問者應搜索字符串[]值數組,然後確定值參數是否有效,如果它不是然後拋出一個新的異常。我不知道如何解決這個問題。此外,我不能使用枚舉值我需要使用values數組。嘗試抓住不輸入異常與輸入
任何幫助,將不勝感激
這裏是我有我的卡類
class Card
{
public enum SUIT { HEARTS, SPADES, DIAMONDS, CLUBS };
private SUIT _suit;
private String _value;
public Card(SUIT suit, String value)
{
_suit = suit;
_value = value;
}
public SUIT Suit
{
get
{
//Return member variable value
return _suit;
}
set
{
_suit = value;
}
}
private String[] values = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
public String Value
{
get { return _value; }
set
{
if (!values.Contains(value))
{
throw new ArgumentException("Invalid Input");
}
_value = value;
}
}
}
這裏是我的代碼與
try
{
Card testCard1 = new Card(Card.SUIT.SPADES, "Q");
Console.WriteLine(testCard1.Suit + " " + testCard1.Value);
Card testCard2 = new Card(Card.SUIT.DIAMONDS, "10");
Console.WriteLine(testCard2.Suit + " " + testCard2.Value);
Card testCard3 = new Card(Card.SUIT.DIAMONDS, "X");
Console.WriteLine(testCard3.Suit + " " + testCard3.Value);
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
Console.ReadLine();
[屬性C#基礎教程(http://www.tutorialspoint.com/csharp/csharp_properties.htm)本讀了' andrew689' – MethodMan 2014-12-05 21:06:46
問題出在你的構造函數中,你沒有調用屬性來設置值,而是直接將它設置爲成員變量。 – Sorceri 2014-12-05 21:09:28
我發誓我已經多次看過這個相同的問題;這是一個任務還是什麼? – 2014-12-05 21:20:47