Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. import java.util.Objects;
  2. import java.util.Scanner;
  3.  
  4. class Main {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7. int option;
  8. double x, y;
  9. String label;
  10. label = scanner.next();
  11. x = scanner.nextDouble();
  12. y = scanner.nextDouble();
  13. scanner.nextLine();
  14. option = scanner.nextInt();
  15.  
  16. LabeledPoint point = new LabeledPoint(label, x, y);
  17.  
  18. double newX, newY, e;
  19.  
  20. switch(option) {
  21. case 0:
  22. scanner.nextLine();
  23. newX = scanner.nextDouble();
  24. newY = scanner.nextDouble();
  25. point.translate(newX, newY);
  26. point.show();
  27. break;
  28. case 1:
  29. scanner.nextLine();
  30. e = scanner.nextDouble();
  31. point.scale(e);
  32. point.show();
  33. break;
  34. case 2:
  35. scanner.nextLine();
  36. newX = scanner.nextDouble();
  37. newY = scanner.nextDouble();
  38. scanner.nextLine();
  39. e = scanner.nextDouble();
  40. point.translate(newX, newY);
  41. point.scale(e);
  42. point.show();
  43. break;
  44. case 3:
  45. scanner.nextLine();
  46. e = scanner.nextDouble();
  47. scanner.nextLine();
  48. newX = scanner.nextDouble();
  49. newY = scanner.nextDouble();
  50. point.scale(e);
  51. point.translate(newX, newY);
  52. point.show();
  53. break;
  54. case 4:
  55. point.show();
  56. break;
  57. }
  58. }
  59.  
  60. }
  61.  
  62. class Point {
  63. double x, y;
  64.  
  65. public Point(double x, double y) {
  66. this.x = x;
  67. this.y = y;
  68. }
  69.  
  70. public void show() {
  71. System.out.println(x + " " + y);
  72. }
  73.  
  74. public void translate(double newX, double newY) {
  75. x += newX;
  76. y += newY;
  77. }
  78.  
  79. public void scale(double e) {
  80. x *= e;
  81. y *= e;
  82. }
  83. }
  84.  
  85. class LabeledPoint extends Point{
  86. String label;
  87.  
  88. public LabeledPoint(String label, double x, double y) {
  89. super(x, y);
  90. this.label = label;
  91. }
  92.  
  93. public String getLabel() {
  94. return label;
  95. }
  96.  
  97. @Override
  98. public boolean equals(Object o) {
  99. if (this == o) return true;
  100. if (o == null || getClass() != o.getClass()) return false;
  101. LabeledPoint that = (LabeledPoint) o;
  102. return Objects.equals(label, that.label);
  103. }
  104.  
  105. @Override
  106. public int hashCode() {
  107. return Objects.hash(label);
  108. }
  109.  
  110. @Override
  111. public String toString() {
  112. return "LabeledPoint{" +
  113. "x=" + x +
  114. ", y=" + y +
  115. ", label='" + label + '\'' +
  116. '}';
  117. }
  118.  
  119. @Override
  120. public void show() {
  121. System.out.println(getLabel() + " " + x + " " + y);
  122. }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement