java实现声明和处理异常

图片

那你就定义一个接口,写抽象方法,
然后实现,,都是按照正常的方式来写,只是你根据题目的要求来写

先定义一个接口:

public interface TestInterface {
    double min(double a, double b); //求最小值
    double max(double a, double b, double c); //求最大值
}

定义类实现接口,实现方法:

public class TestClass implements TestInterface {

    @Override
    public double min(double a, double b) {
        return Math.min(a, b);
    }

    @Override
    public double max(double a, double b, double c) {
        double max = a;
        if(b > max) {
            max = b;
        }
        if(c > max) {
            max = c;
        }
        return max;
    }

}

再定义一个类提供main方法并抛出异常:

public class Test {

    public static void main(String[] args) throws Exception {
        TestClass t = new TestClass();
        Scanner sc = new Scanner(System.in);
        System.out.println("求两个数的最小值,请输入第一个数:");
        double a1 = sc.nextDouble();
        System.out.println("请输入第二个数:");
        double b1 = sc.nextDouble();
        System.out.println("最小值为:" + t.min(a1, b1));

        System.out.println("求三个数的最大值,请输入第一个数:");
        double a2 = sc.nextDouble();
        System.out.println("请输入第二个数:");
        double b2 = sc.nextDouble();
        System.out.println("请输入第三个数:");
        double c2 = sc.nextDouble();
        System.out.println("最大值为:" + t.max(a2, b2, c2));
    }

}

有帮助的话,请采纳~

//接口(抽象类)
public interface jiekou {
int smoll( int p,int q);
int maxl( int p,int q ,int l);
}

//实现类
public class shixianlei implements jiekou {

public int smoll( int p,int q){
if(p>q){
System.out.println(q);
}else{
System.out.println(p);
}
}

public int maxl( int p,int q ,int l){
if(p>q){
if(p>l){
System.out.println(p);
}
}else{
if(q>l){
System.out.println(q);
}else{System.out.println(l);}
}
}
}

    //main方法
        public static void main(String[] args) {
            try{、

            调用以上方法(略)

    }catch(Exception e){
    }

}

public interface Interface {
double minNumb(double a,double b);
double maxNumb(double a,double b,double c);
}

public class GetNumb implements Interface {
public double minNumb(double a, double b) {
if (a > b) {
return b;
}
return a;
}

public double maxNumb(double a, double b, double c) {
    if (b > a) {
        a = b;
        if (c > a) {
            a = c;
            return a;
        }
        return a;
    } else if (c > a) {
        a = c;
        return a;
    }
    return a;
}

}

import java.util.*;
public class Main {
public static void main(String[] args){
GetNumb getN=new GetNumb();
Scanner input=new Scanner(System.in);
boolean jug;
System.out.println("如果您要求两数中最小数请输入2,并回车");
System.out.println("如果您要求三数中最大数请输入3,并回车");
double num=input.nextDouble();
if(num==2){
jug=true;
}else if(num==3){
jug=true;
}else{
jug=false;
}
if(jug&&num==2){
System.out.println("请输入两个数字,并分别回车");
double a=input.nextDouble();
double b=input.nextDouble();
System.out.println("两者之中最小值为"+getN.minNumb(a, b));
}else if(jug&&num==3){
System.out.println("请输入三个数字,并分别回车");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
System.out.println("三者之中最大值为"+getN.maxNumb(a, b, c));
}else{
System.out.println("输入非法,请重新输入");
}
}
}




这是接口:

package com.day02;
public interface MaxAndMin {
void getMin (int a,int b);
void getMax (int a,int b,int c);
}

实现类:

package com.day02;

/**

  • 实现接口中的抽象方法
  • 实现方法:使用简单的if判断,还有很多比较方法和封装好的比较方法,这里就是大概的演示
  • 过程,其中有小bug,但是不影响演示。
  • * */

public class ImplGet implements MaxAndMin {

public void getMin(int a, int b) {
    // TODO Auto-generated method stub
    try {
        if(a < b){
            System.out.println("最小值是:"+a);

        }else if(a > b){
            System.out.println("最小值是:"+b);

        }else{
            System.out.println("两个数相等");

        }
    } catch (Exception e) {
        // TODO: handle exception
        System.out.println(e.getStackTrace());
    }

}

public void getMax(int a, int b, int c) {
    // TODO Auto-generated method stub
    try {
        if (a > b) {
            if (a > c) {
                System.out.println("最大值是:" + a);

            } else {
                System.out.println("最大值是:" + c);

            }
        } else {
            if (b > c) {
                System.out.println("最大值是:" + b);

            } else {
                System.out.println("最大值是:" + c);

            }
        }
    } catch (Exception e) {
        // TODO: handle exception
        System.out.println(e.getStackTrace());
    }

}

}

测试类:

package com.day02;

import java.util.Scanner;
/**

  • 测试类
  • @author Administrator
    *
    */
    public class Test {
    public static void main(String[] args) {
    while(true){
    System.out.println("按1进入求两个数最小的,按2进入求两个数最大的");
    Scanner sc = new Scanner(System.in);
    int choose =sc.nextInt();
    ImplGet im1 =new ImplGet();
    if(choose == 1){
    System.out.println("你选择的是:求两个数中的最小的数。");
    System.out.println("请输入两个整数:");
    int a = sc.nextInt();
    int b = sc.nextInt();
    im1.getMin(a, b);
    return;
    }else if(choose ==2){
    System.out.println("你选择的是:求三个数中的最大的数。");
    System.out.println("请输入三个整数:");
    int a = sc.nextInt();
    int b = sc.nextInt();
    int c = sc.nextInt();
    im1.getMax(a, b, c);
    return;
    }else {
    System.out.println("输入有误,请重新输入选择!");
    return;
    }
    }

    }
    }