根据我们的大四学生的要求,我们被要求创建一个应用程序,用户输入并获取他/她的储蓄信息的详细信息......
它的工作非常好, 除了我按Enter键的事实,我得到一个例外,我的程序崩溃..
请提供给我信息,以便在我的控制台应用程序中,即使按下Enter键,我也不会得到例外,而是返回程序。
非常感谢, 非常感谢。
这是我的计划。
using System;
using System.Collections.Generic;
using System.Text;
namespace bankprob {
class sav_acc
{
public float amount;
public sav_acc(float amount)
{
this.amount = amount;
}
public void getdeposit(float depos)
{
amount += depos;
}
public void display()
{
Console.WriteLine("Balance of Customer :{0} ", amount);
}
public void withdrawl(float amt)
{
amount =amount - amt;
}
public void minbal()
{
if (amount < 1000)
{
Console.WriteLine("You cannot withdraw beyond the minimum balance of rupees 1000. ");
return;
}
}
}
class cur_acc
{
public float amount = 0;
public cur_acc( float amount)
{
this.amount = amount;
}
public void getdeposit(float depos)
{
amount += depos;
}
public void display()
{
Console.WriteLine("Balance of Customer : {0}", amount);
}
public void withdrawl(float amt)
{
amount = amount - amt;
}
public void minbal()
{
if (amount < 1000)
{
Console.WriteLine(" Your balance is less than 1000, and u cannot make any withdrawals");
}
else
Console.WriteLine("Balance is greater than Rs 1000 no need to panality");
}
}
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Welcome Mr.Sayeed");
Console.WriteLine("Please select the type of account.\n1.Savings 2.Current 3.Exit");
int ch;
ch = int.Parse(Console.ReadLine());
switch (ch)
{
case 1:
Console.WriteLine("Enter Initail Amount : ");
float amt = int.Parse(Console.ReadLine());
sav_acc s = new sav_acc(amt);
Console.WriteLine("Enter deposit money : ");
float depos = float.Parse(Console.ReadLine());
s.getdeposit(depos);
s.display();
Console.WriteLine("Enter withdrawl Amount");
float wamt = float.Parse(Console.ReadLine());
s.withdrawl(wamt);
s.display();
s.minbal();
s.display();
break;
case 2:
Console.WriteLine("Enter Initail Amount : ");
float am = int.Parse(Console.ReadLine());
cur_acc c = new cur_acc(am);
Console.WriteLine("Enter deposit money : ");
float depo = float.Parse(Console.ReadLine());
c.getdeposit(depo);
c.display();
Console.WriteLine("Enter withdrawl Amount");
float wam = float.Parse(Console.ReadLine());
c.withdrawl(wam);
c.display();
c.minbal();
c.display();
break;
case 3:
Console.WriteLine("Thank you for Using this applicaton");
return;
default:
Console.WriteLine("You have made a wrong choice, Thank you...");
return;
}
}
}
}
答案 0 :(得分:4)
int.Parse(Console.ReadLine())
要求您输入有效的整数。如果只是在不输入值的情况下按回车键,则该方法将抛出异常。请改用int.TryParse
。
int ch = 0;
int.TryParse(Console.ReadLine(), ch);
switch (ch) {
...
}