Skip to content

Instantly share code, notes, and snippets.

@jrdalpra
Created February 25, 2016 00:47
Show Gist options
  • Save jrdalpra/82c863fedfa9e2d2a551 to your computer and use it in GitHub Desktop.
Save jrdalpra/82c863fedfa9e2d2a551 to your computer and use it in GitHub Desktop.
OO ReversedNumber
public class ReversedNumber extends Number {
private static final long serialVersionUID = 1L;
private final Number original;
public ReversedNumber(Number original) {
super();
this.original = original;
}
@Override
public double doubleValue() {
return intValue();
}
@Override
public float floatValue() {
return intValue();
}
@Override
public int intValue() {
int number = original.intValue();
int reverse = 0;
int remainder = 0;
do {
remainder = number % 10;
reverse = reverse * 10 + remainder;
number = number / 10;
} while (number > 0);
return reverse;
}
@Override
public long longValue() {
return intValue();
}
@Override
public String toString() {
return Integer.toString(intValue());
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof Number))
return false;
return this.intValue() == ((Number) obj).intValue();
}
public static void main(String[] args) {
System.out.println(new ReversedNumber(1002));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment