Добавлена первое, второе и часть третьего задания ЛР №2
This commit is contained in:
parent
461a2b2dee
commit
3705ef1078
@ -1,5 +1,8 @@
|
||||
package tse;
|
||||
|
||||
import tse.lr2.CompareArrays1D;
|
||||
import tse.lr2.CompareArrays2D;
|
||||
|
||||
/**
|
||||
* @author aNNiMON
|
||||
*/
|
||||
@ -17,10 +20,10 @@ public class LR_2 implements ILabRab {
|
||||
public void execute(int index) {
|
||||
switch(index) {
|
||||
case 0:
|
||||
|
||||
CompareArrays1D.main();
|
||||
break;
|
||||
case 1:
|
||||
|
||||
CompareArrays2D.main();
|
||||
break;
|
||||
case 2:
|
||||
|
||||
@ -41,7 +44,7 @@ public class LR_2 implements ILabRab {
|
||||
|
||||
@Override
|
||||
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[] {
|
||||
new LR_1()
|
||||
new LR_1(), new LR_2()
|
||||
};
|
||||
|
||||
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