java_⾃定义受检异常类 OddException,表示两个数相除时,除数为奇数时出现的异常。

package experiment6.exp2;
import java.util.Scanner;
/*⾃定义受检异常类 OddException,表示两个数相除时,
除数为奇数时出现的异常。
该类必须定义两个构造⽅法:
默认构造⽅法和
带字符串参数的构造⽅法。
编写MathDivide类,实现成员⽅法divide(double b,double c),两个数据的除法。
程序接受从控制台输⼊的两个浮点数,
计算这两个数的商。
如果输⼊的除数是奇数,将抛出OddException异常并处理,否则输出这两个数的商。
*/
public class DivideTryCatch {
public static void main(String[] args) {
System.out.println("请输入被除数和除数并用逗号隔开,输入两组:");
/* float a=sc.nextFloat();
String tmp=sc.next();
float b=sc.nextFloat();*/
int cnt=0;
while(cnt++<2) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String[] arrayLine = line.split(",");
double a = Double.parseDouble(arrayLine[0]);
double b = Double.parseDouble(arrayLine[1]);
MathDivide mathdivide = new MathDivide();
//System.out.println(a+"/"+b+"=" +mathdivide.divide(a, b));
mathdivide.divide(a, b);
}
}
}
package experiment6.exp2;
/*⾃定义受检异常类 OddException,表示两个数相除时,
除数为奇数时出现的异常。
该类必须定义两个构造⽅法:
默认构造⽅法和
带字符串参数的构造⽅法。*/
public class OddException extends Exception {
String str;
double m,n;
public OddException(double b,double c){
//System.out.print(b+"/"+c+"中除数不能为奇数");
m=b;
n=c;
}
public OddException(){
}
@Override
public String getMessage() {
return String.format("%.2f/%.2f=", m,n)+"中除数不能为奇数";
}
}
package experiment6.exp2;
import java.text.DecimalFormat;
/*编写MathDivide类,实现成员⽅法divide(double b,double c),两个数据的除法。*/
public class MathDivide {
void divide(double b,double c){
if(c%2!=0){
try {
throw new OddException(b,c);
} catch (OddException e) {
e.printStackTrace();
}
}
else
System.out.println(String.format("%.2f/%.2f=", b,c)+new DecimalFormat("0.00").format(b/c ));
}
}
posted @   xuchaoxin1375  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-07-03 AM@函数的多项式逼近表示@泰勒中值定理@泰勒多项式@泰勒公式
2021-07-03 python_bytes(字节串)/string(字符串)/unicode码/utf-8编码/字面值/原始字符串/字符串编码&字节解码
点击右上角即可分享
微信分享提示