Revision: 34101
Updated Code
at October 17, 2010 15:22 by trusktr
Updated Code
import java.util.*;
public class Number {
/* Data Objects */
private double value;
/* Constructors */
public Number(){
value = 0;
}
public Number(double inputvalue){
value = inputvalue;
}
public Number(Number n){
value = n.value;
}
/* Accessors */
public double value(){
double n = value;
return n;
}
/* Mutators */
public void set_value(double inputvalue){
value = inputvalue;
}
public void set_value(Number inputvalue){
value = inputvalue.value;
}
public MyString myString(int n){
Formatter fmt = new Formatter();
MyString output = new MyString("" + fmt.format("%."+n+"f", value));
return output;
// MY OWN ALGORITHM FOR SETTING THE PRECISION OF MY NUMBER.
// // say we start with value=17.55745 and we want a decimal precision of n=2.
// // make an int version of double:
// int b = (int)value; // b == 17
// // subtract int version from double to leave the decimal places:
// double c = value - b; // c = 17.55745 - 17 == .55745
// // multiply by (10^n) to find the decimals.
// double d = c * Math.pow(10,n); // d == 55.745
// // make another int of the decimals:
// int e = (int)d; // e == 55
// // subtract the int from the decimal double:
// double f = d - e; // f == .745
// // if f is < 0.5 then leave e alone. // e == 55
// // if f is >= 0.5
// if ( f >= 0.5 ) {
// // then add 1 to e:
// e++; // e == 56
// }
// // now output the parts as a string:
// MyString output = new MyString("" + b + "." + e);
// return output;
// // say we start with value=17.00745 and we want a decimal precision of n=2.
// // make an int version of double:
// int b = (int)value; // b == 17
// // subtract int version from double to leave the decimal places:
// double c = value - b; // c = 17.00745 - 17 == .00745
// // multiply by (10^n) to find the decimals.
// double d = c * Math.pow(10,n); // d == 00.745
// // make another int of the decimals:
// int e = (int)d; // e == 0
// if (e < Math.pow(10,n-1)) {
//
// }
// // subtract the int from the decimal double:
// double f = d - e; // f == .745
// // if f is < 0.5 then leave e alone. // e == 55
// // if f is >= 0.5
// if ( f >= 0.5 ) {
// // then add 1 to e:
// e++; // e == 56
// }
// // now output the parts as a string:
// MyString output = new MyString("" + b + "." + e);
// return output;
}
public MyString myString(){
return new MyString("" + value);
}
public String toString(){
return "" + value;
}
public Number plus(Number n){
return new Number(value + n.value);
}
public Number plus(double n){
return new Number(value + n);
}
public Number minus(Number n){
return new Number(value - n.value);
}
public Number minus(double n){
return new Number(value - n);
}
public Number times(Number n){
return new Number(value * n.value);
}
public Number times(double n){
return new Number(value * n);
}
public Number over(Number n){
return new Number(value / n.value);
}
public Number over(double n){
return new Number(value / n);
}
}
Revision: 34100
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 17, 2010 11:57 by trusktr
Initial Code
import java.util.*;
public class Number {
/* Data Objects */
private double value;
/* Constructors */
public Number(){
value = 0;
}
public Number(double inputvalue){
value = inputvalue;
}
public Number(Number n){
value = n.value;
}
/* Accessors */
public double value(){
double n = value;
return n;
}
/* Mutators */
public void set_value(double inputvalue){
value = inputvalue;
}
public void set_value(Number inputvalue){
value = inputvalue.value;
}
public MyString myString(int n){
Formatter fmt = new Formatter();
MyString output = new MyString("" + fmt.format("%."+n+"f", value));
return output;
// MY OWN ALGORITHM FOR SETTING THE PRECISION OF MY NUMBER.
// // say we start with value=17.55745 and we want a decimal precision of n=2.
// // make an int version of double:
// int b = (int)value; // b == 17
// // subtract int version from double to leave the decimal places:
// double c = value - b; // c = 17.55745 - 17 == .55745
// // multiply by (10^n) to find the decimals.
// double d = c * Math.pow(10,n); // d == 55.745
// // make another int of the decimals:
// int e = (int)d; // e == 55
// // subtract the int from the decimal double:
// double f = d - e; // f == .745
// // if f is < 0.5 then leave e alone. // e == 55
// // if f is >= 0.5
// if ( f >= 0.5 ) {
// // then add 1 to e:
// e++; // e == 56
// }
// // now output the parts as a string:
// MyString output = new MyString("" + b + "." + e);
// return output;
// // say we start with value=17.00745 and we want a decimal precision of n=2.
// // make an int version of double:
// int b = (int)value; // b == 17
// // subtract int version from double to leave the decimal places:
// double c = value - b; // c = 17.00745 - 17 == .00745
// // multiply by (10^n) to find the decimals.
// double d = c * Math.pow(10,n); // d == 00.745
// // make another int of the decimals:
// int e = (int)d; // e == 0
// if (e < Math.pow(10,n-1)) {
//
// }
// // subtract the int from the decimal double:
// double f = d - e; // f == .745
// // if f is < 0.5 then leave e alone. // e == 55
// // if f is >= 0.5
// if ( f >= 0.5 ) {
// // then add 1 to e:
// e++; // e == 56
// }
// // now output the parts as a string:
// MyString output = new MyString("" + b + "." + e);
// return output;
}
public MyString myString(){
return new MyString("" + value);
}
public String toString(){
return "" + value;
}
public Number plus(Number n){
return new Number(value + n.value);
}
public Number plus(double n){
return new Number(value + n);
}
public Number minus(Number n){
return new Number(value - n.value);
}
public Number minus(double n){
return new Number(value - n);
}
public Number times(Number n){
return new Number(value * n.value);
}
public Number times(double n){
return new Number(value * n);
}
public Number over(Number n){
return new Number(value / n.value);
}
public Number over(double n){
return new Number(value / n);
}
}
Initial URL
Initial Description
Initial Title
cisp401 Number.java
Initial Tags
java
Initial Language
Java