-
Notifications
You must be signed in to change notification settings - Fork 0
/
Variable.java~
66 lines (42 loc) · 1.21 KB
/
Variable.java~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
public class Variable extends Factor implements Comparable{
private String subscript;
private char letter;
public Variable(char c){
this.letter = c;
valueMask = new StringBuilder(""+c);
}
public char letter(){
return letter;
}
public void append(char c){
throw new IllegalArgumentException("Can't append a variable");
}
public void setSubscript(String s){
subscript = s;
}
public void setValue(Constant constant){
//value = constant;
}
public String subscript(){
return subscript;
}
public int compareTo(Object o){
if(!(o instanceof Variable)){
throw new IllegalArgumentException("Variables only comparable to other factors.");
}
Variable that = (Variable)o;
if(this.letter < that.letter())
return -1;
else if(this.letter > that.letter())
return 1;
else
return operations.compareTo(that.operations);
}
public Variable(Variable v){
this.letter = v.letter();
operations = new OperationList(v.operations());
}
public String toString(){
return "("+valueMask + (operations != null ? operations.toString() : "")+")";
}
}