Huawei社のマシンの質問 - のC#での動きを調整します

トピック:

開発ツールは、座標計算、Aが左に移動され、Dは、右方向を表し、Wが上方へ移動表し、Sは、下方への移動を表します。点(0,0)から移動し始める、の数は、座標入力文字列内から読み出し、出力ファイル内部に最終結果の入力。

アイデア:

座標算出のために、単なるトライフル、オープン乾燥しているように、フィルタに一致する正規表現を考慮し、抽出する座標情報を前記入力文字列、理由

コードの実装:

 

使用してシステムを。
使ってSystem.Text.RegularExpressionsを。
使用してSystem.Collections.Genericを。
パブリック クラスのテスト
{
    静的な 無効メイン()
    {
        文字列 [] STR = Console.ReadLine()スプリット(' ; ' );
        一覧 < 文字列 > coordList = 新しいリスト< 文字列 > ();
        文字列パターン= "@ ^ [ASDW] \ D {1,2} \ B " 
        CoordCalculate coordCalculate = 新しいCoordCalculate();
        以下のためにint型私は= 0 ; I <str.Lengthを; I ++ 
        {
        foreachの(マッチマッチRegex.Matches(STR [i]は、パターン))
        {
        Console.WriteLineを(match.Groups [ 0 ])。
            coordList.Add(match.Groups [ 0 ] .ToString())。
        }
        }
        Console.WriteLineを(coordCalculate.coordCal(coordList))。
    }
}
パブリック クラスCoordCalculate
{
    INT X = 0 int型 = Y 0 文字列 COORDS = "" ;
    公共の 文字列 coordCal(一覧< 文字列 > coordlist)
    {
        foreachのVARの COORD coordlist)
        {
            もし(coord.Contains(" A " ))
            {
                X - = Convert.ToInt32(coord.Substring(1 ))。
            }
            それ以外の 場合(coord.Contains(" S " ))
            {
                Y - = Convert.ToInt32(coord.Substring(1 ))。
            }
            それ以外の 場合(coord.Contains(" D " ))
            {
                X + = Convert.ToInt32(coord.Substring(1 ))。
            }
            それ以外の 場合(coord.Contains(" W " ))
            {
                Y + = Convert.ToInt32(coord.Substring(1 ))。
            }
        }
        COORDS = X + " " + Y。
        リターンCOORDS。
    }
}

おすすめ

転載: www.cnblogs.com/Alwaysblue/p/12168180.html