Добавлена первое, второе и часть третьего задания ЛР №2
This commit is contained in:
parent
461a2b2dee
commit
3705ef1078
@ -1,5 +1,8 @@
|
|||||||
package tse;
|
package tse;
|
||||||
|
|
||||||
|
import tse.lr2.CompareArrays1D;
|
||||||
|
import tse.lr2.CompareArrays2D;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author aNNiMON
|
* @author aNNiMON
|
||||||
*/
|
*/
|
||||||
@ -17,10 +20,10 @@ public class LR_2 implements ILabRab {
|
|||||||
public void execute(int index) {
|
public void execute(int index) {
|
||||||
switch(index) {
|
switch(index) {
|
||||||
case 0:
|
case 0:
|
||||||
|
CompareArrays1D.main();
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
CompareArrays2D.main();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
|
||||||
@ -41,7 +44,7 @@ public class LR_2 implements ILabRab {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription(int index) {
|
public String getDescription(int index) {
|
||||||
return Util.readDescription(1, index);
|
return Util.readDescription(2, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ public class Main extends JFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final ILabRab[] labs = new ILabRab[] {
|
private final ILabRab[] labs = new ILabRab[] {
|
||||||
new LR_1()
|
new LR_1(), new LR_2()
|
||||||
};
|
};
|
||||||
|
|
||||||
private JButton executeButton;
|
private JButton executeButton;
|
||||||
|
18
src/tse/lr2/Circle.java
Normal file
18
src/tse/lr2/Circle.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package tse.lr2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class Circle extends Ellipse {
|
||||||
|
|
||||||
|
public boolean isConsist() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "This is circle!\n" + super.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
44
src/tse/lr2/CompareArrays1D.java
Normal file
44
src/tse/lr2/CompareArrays1D.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package tse.lr2;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class CompareArrays1D {
|
||||||
|
|
||||||
|
public static void main() {
|
||||||
|
String[] a = {"1","2","3"};
|
||||||
|
String[] b1 = a;
|
||||||
|
String[] b2 = a.clone();
|
||||||
|
String[] b3 = Arrays.copyOf(a, a.length);
|
||||||
|
String[] b4 = {"1","2","3"};
|
||||||
|
|
||||||
|
printRow("b=a\t\t\t", getValues(a, b1));
|
||||||
|
printRow("b=a.clone()\t\t", getValues(a, b2));
|
||||||
|
printRow("b=Arrays.copyOf(a)\t", getValues(a, b3));
|
||||||
|
printRow("b4 = {\"1\",\"2\",\"3\"}\t", getValues(a, b4));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void printRow(String col1, boolean[] values) {
|
||||||
|
System.out.println();
|
||||||
|
System.out.print(col1 + "\t");
|
||||||
|
for (boolean val : values) {
|
||||||
|
System.out.print(val + "\t");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean[] getValues(String[] a, String[] b) {
|
||||||
|
boolean[] values = new boolean[] {
|
||||||
|
b == a,
|
||||||
|
b.equals(a),
|
||||||
|
Arrays.equals(a, b),
|
||||||
|
Arrays.deepEquals(a, b),
|
||||||
|
b[0] == a[0]
|
||||||
|
};
|
||||||
|
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
}
|
43
src/tse/lr2/CompareArrays2D.java
Normal file
43
src/tse/lr2/CompareArrays2D.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package tse.lr2;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class CompareArrays2D {
|
||||||
|
|
||||||
|
public static void main() {
|
||||||
|
String[][] a = { {"1","2","3"}, {"4", "5", "6"}, {"7", "8", "9"}};
|
||||||
|
String[][] b1 = a;
|
||||||
|
String[][] b2 = a.clone();
|
||||||
|
String[][] b3 = Arrays.copyOf(a, a.length);
|
||||||
|
String[][] b4 = { {"1","2","3"}, {"4", "5", "6"}, {"7", "8", "9"}};
|
||||||
|
|
||||||
|
printRow("b=a\t\t\t", getValues(a, b1));
|
||||||
|
printRow("b=a.clone()\t\t", getValues(a, b2));
|
||||||
|
printRow("b=Arrays.copyOf(a)\t", getValues(a, b3));
|
||||||
|
printRow("b4 = {\"1\",\"2\",\"3\"}, {\"4\",\"5...", getValues(a, b4));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void printRow(String col1, boolean[] values) {
|
||||||
|
System.out.println();
|
||||||
|
System.out.print(col1 + "\t");
|
||||||
|
for (boolean val : values) {
|
||||||
|
System.out.print(val + "\t");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean[] getValues(String[][] a, String[][] b) {
|
||||||
|
boolean[] values = new boolean[] {
|
||||||
|
b == a,
|
||||||
|
b.equals(a),
|
||||||
|
Arrays.equals(a, b),
|
||||||
|
Arrays.deepEquals(a, b),
|
||||||
|
b[0] == a[0]
|
||||||
|
};
|
||||||
|
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
}
|
78
src/tse/lr2/Ellipse.java
Normal file
78
src/tse/lr2/Ellipse.java
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
package tse.lr2;
|
||||||
|
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class Ellipse {
|
||||||
|
|
||||||
|
private static final int POINTS = 4;
|
||||||
|
|
||||||
|
protected final Point[] points;
|
||||||
|
|
||||||
|
public Ellipse() {
|
||||||
|
points = new Point[POINTS];
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ellipse(Point p1, Point p2, Point p3, Point p4) {
|
||||||
|
points = new Point[] {
|
||||||
|
p1, p2, p3, p4
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public Ellipse(Ellipse ellipse) {
|
||||||
|
points = Arrays.copyOf(ellipse.points, POINTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Point getCenterPoint() {
|
||||||
|
int cx = (points[1].x - points[0].x) / 2 + points[0].x;
|
||||||
|
int cy = (points[2].y - points[0].y) / 2 + points[0].y;
|
||||||
|
Point center = new Point(cx, cy);
|
||||||
|
return center;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getSquare() {
|
||||||
|
Point center = getCenterPoint();
|
||||||
|
double hor = center.x - points[0].x;
|
||||||
|
double ver = center.y - points[0].y;
|
||||||
|
return Math.PI * hor * ver;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getDistanceOfCentres(Ellipse ellipse) {
|
||||||
|
return (getCenterPoint().distance(ellipse.getCenterPoint()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj instanceof Ellipse) {
|
||||||
|
Ellipse ellipse = (Ellipse) obj;
|
||||||
|
return (ellipse.points).equals(obj);
|
||||||
|
}
|
||||||
|
return super.equals(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Object clone() throws CloneNotSupportedException {
|
||||||
|
return super.clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return super.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (int i = 0; i < POINTS; i++) {
|
||||||
|
sb.append(points[i].toString()).append('\t');
|
||||||
|
}
|
||||||
|
sb.append("\nSquare: ").append(getSquare());
|
||||||
|
sb.append("\nCenter: ").append(getCenterPoint().toString());
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user