Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Object comparison = this.inches.compareTo(obj.inches);
- import java.io.*;
- import java.util.*;
- import java.lang.Integer;
- import java.lang.reflect.Array;
- public class Distance implements Comparable<Distance> {
- private static final String HashCodeUtil = null;
- private int feet;
- private int inches;
- private final int DEFAULT_FT = 1;
- private final int DEFAULT_IN = 1;
- public Distance(){
- feet = DEFAULT_FT;
- inches = DEFAULT_IN;
- }
- public Distance(int ft, int in){
- feet = ft;
- inches = in;
- }
- public void setFeet(int ft){
- try {
- if(ft<0){
- throw new CustomException("Distance is not negative");
- }
- }
- catch(CustomException c){
- System.err.println(c);
- feet =ft;
- }
- }
- public int getFeet(){
- return feet;
- }
- public void setInches(int in){
- try
- {
- if (in<0)
- throw new CustomException("Distance is not negative");
- //inches = in;
- }
- catch(CustomException c)
- {
- System.err.println(c);
- inches = in;
- }
- }
- public int getInches(){
- return inches;
- }
- public String toString (){
- return "<" + feet + ":" + inches + ">";
- }
- public Distance add(Distance m){
- Distance n = new Distance();
- n.inches = this.inches + m.inches;
- n.feet = this.feet + m.feet;
- while(n.inches>12){
- n.inches = n.inches - 12;
- n.feet++;
- }
- return n;
- }
- public Distance subtract(Distance f){
- Distance m = new Distance();
- m.inches = this.inches - f.inches;
- m.feet = this.feet - f.feet;
- while(m.inches<0){
- m.inches = m.inches - 12;
- feet--;
- }
- return m;
- }
- @Override
- public int compareTo(Distance obj) {
- // TODO Auto-generated method stub
- final int BEFORE = -1;
- final int EQUAL = 0;
- final int AFTER = 1;
- if (this == obj) return EQUAL;
- if(this.DEFAULT_IN < obj.DEFAULT_FT) return BEFORE;
- if(this.DEFAULT_IN > obj.DEFAULT_FT) return AFTER;
- Object comparison = this.inches.compareTo(obj.inches);
- if (this.inches == obj.inches) return compareTo(null);
- assert this.equals(obj) : "compareTo inconsistent with equals";
- return EQUAL;
- }
- @Override public boolean equals( Object obj){
- if (obj != null) return false;
- if (!(obj intanceof Distance)) return false;
- Distance that = (Distance)obj;
- ( this.feet == that.feet &&
- this.inches == that.inches);
- return true;
- else
- return false;
- }
- @Override public int hashCode(int, int) {
- int result = HashCodeUtil.inches;
- result = HashCodeUtil.hash(result, inches );
- result = HashCodeUtil.hash(result, feet);
- ruturn result;
- }
- @Override
- public int compareTo(Distance obj) {
- ....
- if (this == obj) return EQUAL; <--- This
- ...
- }
- Object comparison = this.inches.compareTo(obj.inches);
- if (this.inches == obj.inches) return compareTo(null);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement