java类图设计的内容,请求建议

java类图设计,诚恳的问一下怎么做,太不简单了根本不会,上课没学到什么。

img

你可以看看这个,然后就会了

掌握UML类图,对设计模式或者某一个框架能够整体的把控,你看看这个对你有帮助麽
https://www.jianshu.com/p/2828874af134

最近我正好在画类图和时序图,推荐你看下
,https://blog.csdn.net/ibukikonoha/article/details/80643959?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164611536716780269844075%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164611536716780269844075&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-80643959.pc_search_result_cache&utm_term=UML%E7%B1%BB%E5%9B%BE&spm=1018.2226.3001.4187

补充下.按照作业来说你的很简单.IDEA其实自己带类图功能.你搜下就能找到了

可以参考这篇文章:架构第一步,学会画各种 UML 图https://juejin.cn/post/6844903891067207693

我的想法:
1,这作业真烂,负A分之B。这能有几个类?
2,应该定义一个类就够了,然后构造里面传入A和B,一个方法可以获取X的值,为负A分之B。

img

img

两个接口 一个是方程,一个是系数
三个实现类 一个是一元一次方程类实现了方程接口,一个是A类实现了系数接口,一个是B类也实现了系数接口
一个异常类 用于捕获A类系数为0的非法方程异常

其中一元一次方程类依赖了A类和B类
A类依赖了异常类

java代码如下:
/**

  • 方程
  • @param 返回的结果类型
  • /
    public interface Equation {
    T getResult();
    }

/**

  • 系数
  • /
    public interface Coefficient {
    T value();
    }

public class OneOneEquation implements Equation{

private final A a;

private final B b;

public OneOneEquation(A a,B b){
    this.a = a;
    this.b = b;
}

@Override
public Double getResult() {
    return -b.value()/a.value();
}

}

public class A implements Coefficient{

private final Double value;

public A(double value)  {
    if(value== 0.0) {
        this.value = 1.0;
        try {
            throw new IllegalEquation("非法方程");
        } catch (IllegalEquation e) {
            e.printStackTrace();
        }
    }else {
        this.value = value;
    }
}

@Override
public Double value() {
    return value;
}

}

public class B implements Coefficient{

private final Double value;

public B(double value){
    this.value = value;
}

@Override
public Double value() {
    return value;
}

}

public class IllegalEquation extends Exception{
public IllegalEquation(String message) {
super(message);
}
}

public class Test {
public static void main(String[] args) {
Equation test1 = new OneOneEquation(new A(1),new B(2));
System.out.println(test1.getResult());
Equation test2 = new OneOneEquation(new A(2),new B(1));
System.out.println(test2.getResult());
Equation test3 = new OneOneEquation(new A(0),new B(3));
System.out.println(test3.getResult());
Equation test4 = new OneOneEquation(new A(3),new B(-1));
System.out.println(test4.getResult());
Equation test5 = new OneOneEquation(new A(-3),new B(0));
System.out.println(test5.getResult());
Equation test6 = new OneOneEquation(new A(3),new B(-6));
System.out.println(test6.getResult());
}
}


        int a = 0,b = 0;
        try {
            System.out.println(-b/a);
        }catch (Exception e){
            System.out.println("非法方程");
        }