输入任意两个整数,求两者的商。使用异常处理机制捕获零除异常和参数格式异常。
运行效果如图:
图(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( "您输入的格式不正确" ); } } } }}