想要在抛出异常后能够重新输入。有些着急,求大神帮助。蟹蟹importjava.util.Scanner;interfaceB{publicvoidf(doubler);publicvoidd(doublea);publicvoide(doublea,doubler)throwsMyE...
想要在抛出异常后能够重新输入。有些着急,求大神帮助。蟹蟹
import java.util.Scanner;
interface B{
public void f(double r);
public void d(double a);
public void e(double a,double r)throws MyException;
}
class C implements B{
public void f(double r){
System.out.println("圆形面积为"+(3.14*r*r));
}
public void d(double a){
System.out.println("正方形面积为"+(a*a));
}
public void e(double a,double r)throws MyException {
if(2*r>a) {
MyException ex=new MyException();
throw ex;
}
System.out.println("阴影面积"+((a*a)-(3.14*r*r)));
}
}
class MyException extends Exception{
String message;
MyException(){
message="出现异常";
}
public String getMessage() {
return message;
}
}
public class A {
public static void main (String args[]) {
try {
B b=new C();
Scanner reader=new Scanner(System.in);
System.out.println("请输入圆形半径r和正方形边长a");
Double r=reader.nextDouble();
Double a=reader.nextDouble();
b.f(r);
b.d(a);
b.e(a, r);
}
catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
展开