Mathematics
import java.util.Vector;
public class Mathematic {
public static void main(String[] args) {
String input1 = "9223372036854775807";
Mathematic notation1 = new Mathematic(input1);
notation1.toString();
String input2 = "10000000000000000000";
Mathematic notation2 = new Mathematic(input2);
notation2.toString();
}
private boolean direct = false;
private Vector vertex = new Vector();
private int name;
private boolean readOnly = false;
int vertices = 1;
private boolean debug = false;
public Mathematic() {
}
public Mathematic(String input) {
int length = input.length();
System.out.println("[" + length + "] = " + input);
int[] number = new int[length];
for (int i = 0; i < length; i++) {
Character ch = new Character(input.charAt(i));
number[i] = new Integer(ch.toString()).intValue();
}
for (int i = 0; i < number.length; i++) {
vertex.add(number[i]);
}
}
public Mathematic(int[] intArray) {
for (int i = 0; i < intArray.length; i++) {
vertex.add(intArray[i]);
}
}
public Vector asReadOnlyBuffer() {
vertex.add(getArray());
return vertex;
}
public Vector compact() {
vertex.removeAllElements();
return vertex;
}
public Vector duplicate() {
vertex.add(getArray());
return vertex;
}
public int get() {
return ((Integer) vertex.get(0)).intValue();
}
public int get(int index) {
return ((Integer) vertex.get(index)).intValue();
}
public int[] getArray() {
int[] array = new int[vertex.size()];
for (int i = 0; i < array.length; i++) {
int value = ((Integer) vertex.get(i)).intValue();
if (debug) {
System.out.println("[" + i + "] " + value);
}
array[i] = value;
}
return array;
}
public int getName() {
return name;
}
public int getVertices() {
return vertices;
}
public boolean isDirect() {
return direct;
}
public boolean isReadOnly() {
return readOnly;
}
public Vector order() {
return vertex;
}
public Vector put(int f) {
vertex.add(f);
return vertex;
}
/**
* Insert element into buffer
*
* @param index
* @param f
* @return
*/
public Vector put(int index, float f) {
Vector vbuffer = new Vector();
for (int i = 0; i < vertex.size(); i++) {
if (i == index) {
vbuffer.add(f);
}
vbuffer.add(vertex.get(i));
}
vertex = vbuffer;
return vertex;
}
public void setName(int name) {
this.name = name;
}
public void setVertices(int vertices) {
this.vertices = vertices;
}
public int size() {
return vertex.size();
}
public String toString() {
int[] intArray = getArray();
int length = intArray.length;
StringBuffer numerics = new StringBuffer();
String numeric = getNumeric(length);
System.out.print("Numerical Analysis: ");
int remainder = (length - 1) % 3;
System.out.print("[");
for (int i = 0; i < length; i++) {
if (remainder == 0) {
System.out.print(intArray[i]);
numerics.append(intArray[i]);
if (i == 0) {
System.out.print(".");
numerics.append(".");
}
} else if (remainder == 1) {
System.out.print(intArray[i]);
numerics.append(intArray[i]);
if (i == 1) {
System.out.print(".");
numerics.append(".");
}
} else if (remainder == 2) {
System.out.print(intArray[i]);
numerics.append(intArray[i]);
if (i == 2) {
System.out.print(".");
numerics.append(".");
}
} else if (i < 3 && i < length) {
System.out.print(intArray[i]);
numerics.append(intArray[i]);
}
}
System.out.print("]");
System.out.println(numeric + " => [" + length + "]");
String cardinalNumber = getCardinal(numerics.toString(), numeric);
return cardinalNumber;
}
public String getCardinal(String numeric, String cardinalNumber) {
if (numeric.indexOf(".") != -1) {
if (numeric.length() > 4) {
numeric = numeric.substring(0, numeric.indexOf('.') + 4)
+ cardinalNumber;
} else {
numeric = numeric + cardinalNumber;
}
System.out.println("=> " + numeric);
} else {
System.out.println("=> " + numeric);
}
return numeric;
}
public String getCardinalNumeric(int length) {
String numeric = new String();
if (length > 100) {
if (length == 3) {
numeric += " hundreds";
} else if (length <= 6) {
numeric += " thousands";
} else if (length <= 9) {
numeric += " millions";
} else if (length <= 12) {
numeric += " billions";
} else if (length <= 15) {
numeric += " trillions";
} else if (length <= 18) {
numeric += " quadrillion";
} else if (length <= 21) {
numeric += " quitillion";
} else if (length <= 24) {
numeric += " sextillion";
} else if (length <= 27) {
numeric += " septillion";
} else if (length <= 30) {
numeric += " octillion";
} else if (length <= 33) {
numeric += " novillion";
} else if (length <= 36) {
numeric += " decillion";
} else if (length <= 39) {
numeric += "undecillion";
} else if (length <= 42) {
numeric += "dodecillion ";
} else if (length <= 45) {
numeric += " tredecillion ";
} else if (length <= 48) {
numeric += " quattuordecillion ";
} else if (length <= 51) {
numeric += " quindecillion ";
} else if (length <= 54) {
numeric += " sexdecillion ";
} else if (length <= 57) {
numeric += " septendecillion ";
} else if (length <= 60) {
numeric += " octodecillion ";
} else if (length <= 63) {
numeric += " novemdecillion ";
} else if (length <= 66) {
numeric += " vigintillion ";
} else if (length <= 69) {
numeric += " unvigintillion ";
} else if (length <= 72) {
numeric += " dovigintillion ";
} else if (length <= 75) {
numeric += " trevigintillion ";
} else if (length <= 78) {
numeric += " quattuorvigintillion ";
} else if (length <= 81) {
numeric += " quinvigintillion ";
} else if (length <= 84) {
numeric += " sexvigintillion ";
} else if (length <= 87) {
numeric += "septenvigintillion ";
} else if (length <= 90) {
numeric += " octovigintillion ";
} else if (length <= 93) {
numeric += " novemvigintillion ";
} else if (length <= 96) {
numeric += " trigintillion ";
} else if (length <= 99) {
numeric += " untrigintillion ";
}
}
return numeric;
}
public String getNumeric(int length) {
String numeric = new String();
if (length > 100) {
if (length <= 102) {
numeric += " dotrigintillion ";
} else if (length <= 105) {
numeric += " tretrigintillion ";
} else if (length <= 108) {
numeric += " quattuortrigintillion ";
} else if (length <= 111) {
numeric += " quintrigintillion ";
} else if (length <= 114) {
numeric += " sextrigintillion ";
} else if (length <= 117) {
numeric += " septrigintillion ";
} else if (length <= 120) {
numeric += " octotrigintillion ";
} else if (length <= 123) {
numeric += " novemtrigintillion ";
} else if (length <= 150) {
numeric += "Quadragintillion";
} else if (length <= 153) {
numeric += "Quinquagintillion";
} else if (length <= 183) {
numeric += "Sexagintillion";
} else if (length <= 213) {
numeric += "Septuagintillion";
} else if (length <= 243) {
numeric += "Octogintillion";
} else if (length <= 273) {
numeric += "Nonagintillion";
} else if (length <= 303) {
numeric += "Centillion";
} else if (length <= 306) {
numeric += "Uncentillion";
} else if (length <= 333) {
numeric += "Decicentillion";
} else if (length <= 336) {
numeric += "Undecicentillion";
} else if (length <= 363) {
numeric += "Viginticentillion";
} else if (length <= 366) {
numeric += "Unviginticentillion";
} else if (length <= 393) {
numeric += "Trigintacentillion";
} else if (length <= 423) {
numeric += "Quadragintacentillion";
} else if (length <= 453) {
numeric += "Quinquagintacentillion";
} else if (length <= 483) {
numeric += "Sexagintacentillion";
} else if (length <= 513) {
numeric += "Septuagintacentillion";
} else if (length <= 543) {
numeric += "Octogintacentillion";
} else if (length <= 573) {
numeric += "Nonagintacentillion";
} else if (length <= 603) {
numeric += "Ducentillion";
} else if (length <= 903) {
numeric += "Trecentillion";
} else if (length <= 1203) {
numeric += "Quadringentillion";
} else if (length <= 1503) {
numeric += "Quingentillion";
} else if (length <= 1803) {
numeric += "Sescentillion";
} else if (length <= 2103) {
numeric += "Septingentillion";
} else if (length <= 2403) {
numeric += "Octingentillion";
} else if (length <= 2703) {
numeric += "Nongentillion";
} else if (length <= 3003) {
numeric += "Millinillionth";
}
} else {
if (length == 1) {
} else if (length == 3) {
numeric += " hundreds";
} else if (length <= 6) {
numeric += " thousands";
} else if (length <= 9) {
numeric += " millions";
} else if (length <= 12) {
numeric += " billions";
} else if (length <= 15) {
numeric += " trillions";
} else if (length <= 18) {
numeric += " quadrillion";
} else if (length <= 21) {
numeric += " quitillion";
} else if (length <= 24) {
numeric += " sextillion";
} else if (length <= 27) {
numeric += " septillion";
} else if (length <= 30) {
numeric += " octillion";
} else if (length <= 33) {
numeric += " novillion";
} else if (length <= 36) {
numeric += " decillion";
} else if (length <= 39) {
numeric += "undecillion";
} else if (length <= 42) {
numeric += "dodecillion ";
} else if (length <= 45) {
numeric += " tredecillion ";
} else if (length <= 48) {
numeric += " quattuordecillion ";
} else if (length <= 51) {
numeric += " quindecillion ";
} else if (length <= 54) {
numeric += " sexdecillion ";
} else if (length <= 57) {
numeric += " septendecillion ";
} else if (length <= 60) {
numeric += " octodecillion ";
} else if (length <= 63) {
numeric += " novemdecillion ";
} else if (length <= 66) {
numeric += " vigintillion ";
} else if (length <= 69) {
numeric += " unvigintillion ";
} else if (length <= 72) {
numeric += " dovigintillion ";
} else if (length <= 75) {
numeric += " trevigintillion ";
} else if (length <= 78) {
numeric += " quattuorvigintillion ";
} else if (length <= 81) {
numeric += " quinvigintillion ";
} else if (length <= 84) {
numeric += " sexvigintillion ";
} else if (length <= 87) {
numeric += " septenvigintillion ";
} else if (length <= 90) {
numeric += " octovigintillion ";
} else if (length <= 93) {
numeric += " novemvigintillion ";
} else if (length <= 96) {
numeric += " trigintillion ";
} else if (length <= 99) {
numeric += " untrigintillion ";
}
}
return numeric;
}
}