package exercises.weights; public class Weight { private double metro; private MMBarous mB; public Weight(double metro, String lMM, double sMGr) { this(metro, new MMBarous(lMM, sMGr)); } public Weight(double metro, MMBarous mB) { this.metro = metro; this.mB = mB; } public static Weight convert(MMBarous from, MMBarous to) { double metroTo = from.getSxesiMeGr() / to.getSxesiMeGr(); return new Weight(metroTo, to); } public boolean equals(Weight w) { Weight converted=convert(w.mB, mB); double convertedMetro=converted.metro*w.metro; return convertedMetro == metro; } public Weight add(Weight w) { double m; if (!mB.equals(w.mB)) { Weight w1 = convert(w.mB, mB); m = metro + w1.getMetro() * w.getMetro(); } else { m = metro + w.metro; } return new Weight(m, mB); } public void setMetro(double metro) { this.metro = metro; } public double getMetro() { return metro; } public MMBarous getMB() { return mB; } public String toString() { return metro+" "+mB; } public static void main(String[] args) { MMBarous kgr=new MMBarous("kgr", 1000); MMBarous gr=new MMBarous("gr",1); Weight w=Weight.convert(kgr, gr); Weight k10=new Weight(10, kgr); Weight g=new Weight(10000, "gr", 1); if (k10.equals(g)) { } Weight sum=k10.add(g); System.out.println(k10.equals(g)); } }