输入任意两个整数,求两者的商。使用异常处理机制捕获零除异常和参数格式异常。
运行效果如图:
图(1)
图(2)
图(3)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test
{
class Program
{
static void Main( string[] args )
{
int a, b, c;
Boolean flag = true, flag2 = true;
Console.WriteLine( "请输入被除数:" );
while ( flag )
{
try
{
a = int.Parse( Console.ReadLine() );
flag = false;
while ( flag2 )
{
Console.WriteLine( "请输入除数" );
try
{
b = int.Parse( Console.ReadLine() );
flag2 = false;
try
{
c = a / b;
Console.WriteLine( "被除数/除数={0}", c );
}
catch ( DivideByZeroException )
{
Console.WriteLine( "除数不能为0!!" );
}
}
catch ( FormatException )
{
Console.WriteLine( "输入的不是整数!请重新输入!" );
}
}
}
catch ( FormatException )
{
Console.WriteLine( "输入的不是整数!请重新输入!" );
}
}
}
}
}
编写异常处理程序,其功能用于实现银行存取款过程中可能遇到的情况,用C#的异常处理来实现
创建自定义异常,以确保提取的金额始终小于或等于当前的余额。
自定义方法用于实现取款的功能。取款金额大于存款金额时,抛出自定义异常,并使得余额为存款值。
控制台接受用户输入的两个double类型的值。一个值表示用户想要存放在银行账户中的金额,另一个值表示用户想要从银行账户中提取的金额。并输出取款后的余额。
捕获可能出现的异常,无论是否有异常打印“交易结束请取回卡” 。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace test2
{
class myException : ApplicationException
{
public void customException()
{
}
}
class Program
{
static void Main( string[] args )
{
Double InPut = 0;
int num;
Boolean flag = true, change = true;
Console.WriteLine( "欢迎使用在线银行存取业务:".PadLeft( 30 ) );
Console.WriteLine( "请输入你要进行的业务对应序列号(1:存款 2:取款 0:退出)" );
while ( flag )
{
try
{
num = int.Parse( Console.ReadLine() );
while ( change )
{
if ( num == 1 || num == 2 || num == 0 )
break;
Console.WriteLine( "请输入对应业务序列号:(1:存款 2:取款 0:退出)" );
num = int.Parse( Console.ReadLine() );
}
if ( num == 0 )
{
Console.WriteLine( "欢迎使用本在线银行存取业务".PadLeft( 30 ) );
Console.WriteLine( "交易结束请取回卡".PadLeft( 28 ) );
break;
}
if ( num == 1 )
{
Console.WriteLine( "输入存款金额:" );
try
{
double mid = double.Parse( Console.ReadLine() );
InPut += mid;
Console.WriteLine( "您的银行余额为:{0}", InPut );
Console.WriteLine( "继续存取款则输入:(1:存款 2:取款 0:退出)" );
}
catch ( FormatException )
{
Console.WriteLine( "输入格式不正确:" );
}
}
if ( num == 2 )
{
Console.WriteLine( "输入取款金额:" );
try
{
double mid = double.Parse( Console.ReadLine() );
double middle = InPut; /* 操作不成功 则不处理余额 */
middle -= mid;
if ( middle < 0 )
{
try
{
throw new myException();
}
catch ( myException )
{
Console.WriteLine( "你的余额不足不能完成此操作!!!可输入1进行存款!!!" );
}
}else {
InPut = middle;
Console.WriteLine( "您的银行余额为:{0}", InPut );
Console.WriteLine( "继续存取款则输入:(1:存款 2:取款 0:退出)" );
}
}
catch ( FormatException )
{
Console.WriteLine( "输入格式不正确:" );
}
}
}
catch ( FormatException )
{
Console.WriteLine( "您输入的格式不正确" );
}
}
}
}
}