class Account
    {
        public string user_name;
        public string user_passwd;
        /// <summary>
        /// 账户余额
        /// </summary>
        public double balance;        /// <summary>
        /// 转账
        /// </summary>
        /// <param name="x">目标账户</param>
        /// <param name="m">转账金额</param>
        public bool Transfer(Account x, double m)
        {
            if (this.balance < m)
            {
                Console.WriteLine("余额不足");
                return false;
            }
            this.balance -= m;
            x.balance += m;
            return true;
        }        public void ShowBalance()
        {
            Console.WriteLine("账户{0}中金额为:{1}", this.user_name, this.balance);
        }        public bool Login()
        {
            string name = Console.ReadLine();//输入帐户名            string password = " ";           //输入密码
            ConsoleKey key = Console.ReadKey(true).Key;
            while (key != ConsoleKey.Enter)
            {
                password += (char)key;
                Console.Write("*");
                key = Console.ReadKey(true).Key;
            }
            Console.WriteLine();

            if (name == this.user_name && password == this.user_passwd)
                return true;
            else
                return false;
        }        class Program
        {
            static void Main(string[] args)
            {                Account a1 = new Account();
                a1.user_name ="abc";
                a1.user_passwd = "123";
                a1.balance = 10000;                Account a2 = new Account();
                a2.user_name = "张静";
                a2.user_passwd = "111";
                a2.balance = 8000;
                if (a1.Login())
                {
                    a1.ShowBalance();
                    a1.Transfer(a2, 3000);
                    a1.ShowBalance();
                }            }
        }
}

解决方案 »

  1.   

    紅色代碼部分改為如下:            string password = "";                       //输入密码 
                Char  key = Console.ReadKey(true).KeyChar;
                while (key != 13)
                {
                    password += key;
                    Console.Write("*");
                    key = Console.ReadKey(true).KeyChar;
                }
                Console.WriteLine(); 
      

  2.   

    回车的KeyCode就是等于13.呵呵.
      

  3.   

    就是改了 试了还是不行 到那了还是以密码输入错误,执行false结束
      

  4.   

    那你直接用我這個,保證沒問題using System;class Account
    {
        public string user_name;
        public string user_passwd;
        ///   <summary> 
        ///   账户余额 
        ///   </summary> 
        public double balance;    ///   <summary> 
        ///   转账 
        ///   </summary> 
        ///   <param   name="x"> 目标账户 </param> 
        ///   <param   name="m"> 转账金额 </param> 
        public bool Transfer(Account x, double m)
        {
            if (this.balance < m)
            {
                Console.WriteLine("余额不足");
                return false;
            }
            this.balance -= m;
            x.balance += m;
            return true;
        }    public void ShowBalance()
        {
            Console.WriteLine("账户{0}中金额为:{1}", this.user_name, this.balance);
        }    public bool Login()
        {
            string name = Console.ReadLine();//输入帐户名         string password = "";                       //输入密码 
            Char key = Console.ReadKey(true).KeyChar;
            while (key != 13)
            {
                password += key;
                Console.Write("*");
                key = Console.ReadKey(true).KeyChar;
            }
            Console.WriteLine();         Console.WriteLine("姓名:{0},密碼:{1}",name,password );        if (name == this.user_name && password == this.user_passwd)
                return true;
            else
                return false;
        }    class Program
        {
            static void Main(string[] args)
            {            Account a1 = new Account();
                a1.user_name = "abc";
                a1.user_passwd = "123";
                a1.balance = 10000;            Account a2 = new Account();
                a2.user_name = "张静";
                a2.user_passwd = "111";
                a2.balance = 8000;
                if (a1.Login())
                {
                    a1.ShowBalance();
                    a1.Transfer(a2, 3000);
                    a1.ShowBalance();
                }
                else
                {
                    Console.WriteLine("登錄失敗!");
                }
                Console.ReadKey();        }
        }
    }