Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.print("Masukkan jumlah titik: ");
- int jumlahTitik = sc.nextInt();
- Titik[] titik = new Titik[jumlahTitik];
- for (int i = 0; i < jumlahTitik; i++) {
- System.out.print("Masukkan koordinat titik ke-" + (i + 1) + ": ");
- int x = sc.nextInt(), y = sc.nextInt();
- titik[i] = new Titik(x, y);
- }
- Double minDistance = null;
- Titik minT1 = null, minT2 = null;
- for (int i = 0; i < jumlahTitik - 1; i++) {
- for (int j = i + 1; j < jumlahTitik; j++) {
- Titik t1 = titik[i], t2 = titik[j];
- double cartesianDistance = Math.sqrt(
- Math.pow(t2.x - t1.x, 2) + Math.pow(t2.y - t1.y, 2)
- );
- if (minDistance == null || cartesianDistance < minDistance) {
- minDistance = cartesianDistance;
- minT1 = t1;
- minT2 = t2;
- }
- }
- }
- System.out.println("Dua titik dengan jarak terpendek adalah\n"
- + minT1 + " " + minT2 +
- "\ndengan jarak " + minDistance);
- }
- }
- class Titik {
- public int x;
- public int y;
- public Titik(int x, int y) {
- this.x = x;
- this.y = y;
- }
- @Override
- public String toString() {
- return "(" + x + ", " + y + ")";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement