Skip to content

Commit 933fe37

Browse files
Data 1.0.7d commit
1 parent 09e6b4f commit 933fe37

File tree

1 file changed

+189
-181
lines changed

1 file changed

+189
-181
lines changed
Lines changed: 189 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -1,186 +1,194 @@
11
package nx.peter.java.util.data;
2+
23
import nx.peter.java.util.Fraction;
34

45
public class FractionData extends Data<FractionData> {
5-
public FractionData() {
6-
super();
7-
}
8-
9-
public FractionData(double data) {
10-
this(new Fraction(data));
11-
}
12-
13-
public FractionData(Fraction data) {
14-
super(toFractionData(data).get());
15-
}
16-
17-
public FractionData(CharSequence data) {
18-
super(data);
19-
}
20-
21-
public void set(Fraction data) {
22-
set(toFractionData(data).get());
23-
}
24-
25-
@Override
26-
public FractionData set(CharSequence data) {
27-
if (DataManager.isFraction(data))
28-
this.data = data.toString();
29-
return this;
30-
}
31-
32-
public static FractionData toFractionData(Fraction data) {
33-
if (data == null)
34-
return new FractionData();
35-
switch ((int) data.getNumerator()) {
36-
case 1 -> {
37-
switch ((int) data.getDenominator()) {
38-
case 2 -> {
39-
return new FractionData("½");
40-
}
41-
case 3 -> {
42-
return new FractionData("⅓");
43-
}
44-
case 4 -> {
45-
return new FractionData("¼");
46-
}
47-
case 5 -> {
48-
return new FractionData("⅕");
49-
}
50-
case 6 -> {
51-
return new FractionData("⅙");
52-
}
53-
case 7 -> {
54-
return new FractionData("⅐");
55-
}
56-
case 8 -> {
57-
return new FractionData("⅛");
58-
}
59-
case 9 -> {
60-
return new FractionData("⅑");
61-
}
62-
case 10 -> {
63-
return new FractionData("⅒");
64-
}
65-
}
66-
}
67-
case 2 -> {
68-
switch ((int) data.getDenominator()) {
69-
case 3 -> {
70-
return new FractionData("⅔");
71-
}
72-
case 5 -> {
73-
return new FractionData("⅖");
74-
}
75-
}
76-
}
77-
case 3 -> {
78-
switch ((int) data.getDenominator()) {
79-
case 4:
80-
return new FractionData("¾");
81-
case 5:
82-
return new FractionData("⅗");
83-
}
84-
}
85-
case 4 -> {
86-
if (data.getDenominator() == 5)
87-
return new FractionData("⅘");
88-
}
89-
case 5 -> {
90-
switch ((int) data.getDenominator()) {
91-
case 6:
92-
return new FractionData("⅚");
93-
case 8:
94-
return new FractionData("⅝");
95-
}
96-
}
97-
case 7 -> {
98-
if (data.getDenominator() == 8)
99-
return new FractionData("⅞");
100-
}
101-
}
102-
return new FractionData();
103-
}
104-
105-
public Fraction getFraction() {
106-
switch (data) {
107-
case "⅙": return new Fraction(1, 6);
108-
case "⅐": return new Fraction(1, 7);
109-
case "⅛": return new Fraction(1, 8);
110-
case "⅑": return new Fraction(1, 9);
111-
case "⅒": return new Fraction(1, 10);
112-
case "½": return new Fraction(1, 2);
113-
case "⅓": return new Fraction(1, 3);
114-
case "¼": return new Fraction(1, 4);
115-
case "⅕": return new Fraction(1, 5);
116-
case "⅔": return new Fraction(2, 3);
117-
case "⅖": return new Fraction(2, 5);
118-
case "¾": return new Fraction(3, 4);
119-
case "⅗": return new Fraction(3, 5);
120-
case "⅜": return new Fraction(3, 8);
121-
case "⅘": return new Fraction(4, 5);
122-
case "⅚": return new Fraction(5, 6);
123-
case "⅝": return new Fraction(5, 8);
124-
case "⅞": return new Fraction(7, 8);
125-
default: return new Fraction(0);
126-
}
127-
}
128-
129-
public boolean isInteger() {
130-
return getFraction().isInteger();
131-
}
132-
133-
public boolean isDecimal() {
134-
return getFraction().isFraction();
135-
}
136-
137-
public boolean isNegative() {
138-
return getFraction().isNegative();
139-
}
140-
141-
public boolean isPositive() {
142-
return getFraction().isPositive();
143-
}
144-
145-
public boolean isZero() {
146-
return getFraction().isZero();
147-
}
148-
149-
public Fraction add(FractionData fraction) {
150-
return fraction != null ? getFraction().add(fraction.getFraction()) : getFraction();
151-
}
152-
153-
public Fraction subtract(FractionData fraction) {
154-
return fraction != null ? getFraction().subtract(fraction.getFraction()) : getFraction();
155-
}
156-
157-
public Fraction multiply(FractionData fraction) {
158-
return fraction != null ? getFraction().multiply(fraction.getFraction()) : getFraction();
159-
}
160-
161-
public Fraction divide(FractionData fraction) {
162-
return fraction != null ? getFraction().divide(fraction.getFraction()) : getFraction();
163-
}
164-
165-
public Fraction add(Fraction fraction) {
166-
return fraction != null ? getFraction().add(fraction) : getFraction();
167-
}
168-
169-
public Fraction subtract(Fraction fraction) {
170-
return fraction != null ? getFraction().subtract(fraction) : getFraction();
171-
}
172-
173-
public Fraction multiply(Fraction fraction) {
174-
return fraction != null ? getFraction().multiply(fraction) : getFraction();
175-
}
176-
177-
public Fraction divide(Fraction fraction) {
178-
return fraction != null ? getFraction().divide(fraction) : getFraction();
179-
}
180-
181-
@Override
182-
public DataType getType() {
183-
return DataType.Fraction;
184-
}
185-
6+
7+
public FractionData() {
8+
super();
9+
}
10+
11+
public FractionData(double data) {
12+
this(new Fraction(data));
13+
}
14+
15+
public FractionData(Fraction data) {
16+
super(toFractionData(data).get());
17+
}
18+
19+
public FractionData(CharSequence data) {
20+
super(data);
21+
}
22+
23+
public void set(Fraction data) {
24+
set(toFractionData(data).get());
25+
}
26+
27+
@Override
28+
public FractionData set(CharSequence data) {
29+
if (DataManager.isFraction(data))
30+
this.data = data.toString();
31+
return this;
32+
}
33+
34+
public static FractionData toFractionData(Fraction data) {
35+
if (data == null)
36+
return new FractionData();
37+
switch ((int) data.getNumerator()) {
38+
case 1:
39+
switch ((int) data.getDenominator()) {
40+
case 2:
41+
return new FractionData("½");
42+
case 3:
43+
return new FractionData("⅓");
44+
case 4:
45+
return new FractionData("¼");
46+
case 5:
47+
return new FractionData("⅕");
48+
case 6:
49+
return new FractionData("⅙");
50+
case 7:
51+
return new FractionData("⅐");
52+
case 8:
53+
return new FractionData("⅛");
54+
case 9:
55+
return new FractionData("⅑");
56+
case 10:
57+
return new FractionData("⅒");
58+
}
59+
break;
60+
case 2:
61+
switch ((int) data.getDenominator()) {
62+
case 3:
63+
return new FractionData("⅔");
64+
case 5:
65+
return new FractionData("⅖");
66+
}
67+
break;
68+
case 3:
69+
switch ((int) data.getDenominator()) {
70+
case 4:
71+
return new FractionData("¾");
72+
case 5:
73+
return new FractionData("⅗");
74+
}
75+
break;
76+
case 4:
77+
if (data.getDenominator() == 5)
78+
return new FractionData("⅘");
79+
break;
80+
case 5:
81+
switch ((int) data.getDenominator()) {
82+
case 6:
83+
return new FractionData("⅚");
84+
case 8:
85+
return new FractionData("⅝");
86+
}
87+
case 7:
88+
if (data.getDenominator() == 8)
89+
return new FractionData("⅞");
90+
}
91+
return new FractionData();
92+
}
93+
94+
public Fraction getFraction() {
95+
switch (data) {
96+
case "⅙":
97+
return new Fraction(1, 6);
98+
case "⅐":
99+
return new Fraction(1, 7);
100+
case "⅛":
101+
return new Fraction(1, 8);
102+
case "⅑":
103+
return new Fraction(1, 9);
104+
case "⅒":
105+
return new Fraction(1, 10);
106+
case "½":
107+
return new Fraction(1, 2);
108+
case "⅓":
109+
return new Fraction(1, 3);
110+
case "¼":
111+
return new Fraction(1, 4);
112+
case "⅕":
113+
return new Fraction(1, 5);
114+
case "⅔":
115+
return new Fraction(2, 3);
116+
case "⅖":
117+
return new Fraction(2, 5);
118+
case "¾":
119+
return new Fraction(3, 4);
120+
case "⅗":
121+
return new Fraction(3, 5);
122+
case "⅜":
123+
return new Fraction(3, 8);
124+
case "⅘":
125+
return new Fraction(4, 5);
126+
case "⅚":
127+
return new Fraction(5, 6);
128+
case "⅝":
129+
return new Fraction(5, 8);
130+
case "⅞":
131+
return new Fraction(7, 8);
132+
default:
133+
return new Fraction(0);
134+
}
135+
}
136+
137+
public boolean isInteger() {
138+
return getFraction().isInteger();
139+
}
140+
141+
public boolean isDecimal() {
142+
return getFraction().isFraction();
143+
}
144+
145+
public boolean isNegative() {
146+
return getFraction().isNegative();
147+
}
148+
149+
public boolean isPositive() {
150+
return getFraction().isPositive();
151+
}
152+
153+
public boolean isZero() {
154+
return getFraction().isZero();
155+
}
156+
157+
public Fraction add(FractionData fraction) {
158+
return fraction != null ? getFraction().add(fraction.getFraction()) : getFraction();
159+
}
160+
161+
public Fraction subtract(FractionData fraction) {
162+
return fraction != null ? getFraction().subtract(fraction.getFraction()) : getFraction();
163+
}
164+
165+
public Fraction multiply(FractionData fraction) {
166+
return fraction != null ? getFraction().multiply(fraction.getFraction()) : getFraction();
167+
}
168+
169+
public Fraction divide(FractionData fraction) {
170+
return fraction != null ? getFraction().divide(fraction.getFraction()) : getFraction();
171+
}
172+
173+
public Fraction add(Fraction fraction) {
174+
return fraction != null ? getFraction().add(fraction) : getFraction();
175+
}
176+
177+
public Fraction subtract(Fraction fraction) {
178+
return fraction != null ? getFraction().subtract(fraction) : getFraction();
179+
}
180+
181+
public Fraction multiply(Fraction fraction) {
182+
return fraction != null ? getFraction().multiply(fraction) : getFraction();
183+
}
184+
185+
public Fraction divide(Fraction fraction) {
186+
return fraction != null ? getFraction().divide(fraction) : getFraction();
187+
}
188+
189+
@Override
190+
public DataType getType() {
191+
return DataType.Fraction;
192+
}
193+
186194
}

0 commit comments

Comments
 (0)