亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 從 readline 問題將字符串轉換為數組

C# 從 readline 問題將字符串轉換為數組

PHP
四季花海 2024-01-20 16:00:30
我正在做一些 C# 練習,作業是檢查 att 瑞典 SSN 是否頒發給女性或男性。該算法檢查第九個數字是否可被 0 整除,則為女性,否則為男性。如果我在字符串變量中使用硬編碼的“nr”,該算法會起作用,但如果我嘗試從 readline 語句中讀取它,則會收到以下錯誤:指數超出范圍。必須為非負數且小于集合的大小。參數名稱:startIndex這是我正在使用的代碼://string personnr = "860215-2097";string personnr = "";char[] arr;    public void CheckGender(string pnr){    arr = personnr.ToCharArray(9, 1);        if (personnr[9] %2 == 0)    {        Console.WriteLine($"Woman!!!");    }    else    {        Console.WriteLine($"Man!!!");    }}    public void PrintPersonNr(){    Console.WriteLine("Write a personnr in the format yymmdd-nnnn: ");    string nr = Console.ReadLine();    CheckGender(nr);}所以PrintPersonNr我猜這是我的方法不能正常工作。
查看完整描述

3 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

你可以試試這個:


public enum SSNGender

{

  Female,

  Male

}


class Program

{


  static public Dictionary<SSNGender, string> SSNGenderText

    = new Dictionary<SSNGender, string>()

  {

    { SSNGender.Female, "Woman" },

    { SSNGender.Male, "Man" },

  };


  static public SSNGender CheckSSNGender(string pnr)

  {

    // Here check the validity of the pnr (length, format...)

    return pnr[9] % 2 == 0 ? SSNGender.Female : SSNGender.Male;

  }


  static void Main(string[] args)

  {

    Console.WriteLine("Write a personnr in the format yymmdd-nnnn: ");

    string nr = Console.ReadLine();

    var result = CheckSSNGender(nr);

    Console.WriteLine(SSNGenderText[result]);

    Console.ReadKey();

  }


查看完整回答
反對 回復 2024-01-20
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

嘗試以下操作:


        public void CheckGender(string pnr)

        {

            string arr = pnr.Substring(10, 1);


            if (arr == "0")

            {

                Console.WriteLine("Woman!!!");

            }

            else

            {

                Console.WriteLine("Man!!!");

            }

        }


查看完整回答
反對 回復 2024-01-20
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

您需要做的是使用模運算符,然后檢查該數字是否可以被二整除,如果結果為零,則它是偶數。

還有一個基本問題,您需要檢查字符是否是數字。如果是,則需要完成操作,如果不是,則需要讓用戶知道。

public void CheckGender(string pnr)

{

? ? string arr = pnr.Substring(9, 1);

? ? int num =0;


? ? if (int.TryParse(arr, num))

? ? {

? ? ? ? if ((num % 2) == "0")

? ? ? ? {

? ? ? ? ? ? Console.WriteLine("Man!!!");

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? Console.WriteLine("Woman!!!");

? ? ? ? }

? ? }

? ? else

? ? {

? ? ? ? Console.WriteLine("Not a number!");

? ? }

}

祝你運動順利!


查看完整回答
反對 回復 2024-01-20
  • 3 回答
  • 0 關注
  • 208 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號