Rumah > Java > javaTutorial > teks badan

Program Java untuk mengira luas segi tiga menggunakan penentu

王林
Lepaskan: 2023-08-31 10:17:08
ke hadapan
976 orang telah melayarinya

Program Java untuk mengira luas segi tiga menggunakan penentu

Pengenalan

Atur cara Java untuk mengira luas segi tiga menggunakan penentu ialah atur cara mudah dan cekap yang boleh mengira luas segitiga berdasarkan koordinat tiga bucu yang diberikan.

Program ini berguna untuk sesiapa sahaja yang belajar atau bekerja dengan geometri, kerana ia menunjukkan cara menggunakan pengiraan aritmetik dan algebra asas dalam Java, serta cara membaca input pengguna menggunakan kelas Pengimbas. Program ini menggesa pengguna untuk memasukkan koordinat tiga titik segi tiga, yang kemudiannya dibaca dan digunakan untuk mengira penentu matriks koordinat. Gunakan nilai mutlak penentu untuk memastikan kawasan sentiasa positif, kemudian gunakan formula untuk mengira luas segi tiga dan memaparkannya kepada pengguna. Program ini boleh diubah suai dengan mudah untuk menerima input dalam format yang berbeza atau untuk melakukan pengiraan tambahan, menjadikannya alat serba boleh untuk pengiraan geometri.

faktor penentu

Penentuan ialah konsep matematik yang digunakan untuk menentukan sifat tertentu sesuatu matriks. Dalam algebra linear, penentu ialah nilai skalar yang boleh dikira daripada unsur-unsur matriks segi empat sama. Penentu boleh digunakan untuk menentukan sama ada matriks mempunyai songsang, sama ada sistem persamaan linear mempunyai penyelesaian unik, dan luas atau isipadu segi empat selari atau selari.

tatabahasa

area = |determinant|/2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Algoritma

  • Kelas Pengimbas Import.

  • Tentukan kelas awam yang dipanggil TriangleArea.

  • Tentukan kaedah utama dalam kelas.

  • Buat objek Pengimbas untuk membaca input pengguna.

  • Meminta pengguna memasukkan koordinat tiga titik yang dipisahkan oleh ruang.

  • Membaca koordinat yang dimasukkan oleh pengguna dan menyimpannya dalam enam pembolehubah ketepatan berganda (x1, y1, x2, y2, x3, y3).

  • Gunakan formula untuk mengira penentu matriks koordinat -

  • | x1 y1 1 |
    | x2 y2 1 | = x1*y2 + x2*y3 + x3*y1 - y1*x2 - y2*x3 - y3*x1
    | x3 y3 1 |
    
    Salin selepas log masuk
    Salin selepas log masuk
  • Kemudian kita mengira luas segi tiga menggunakan formula -

area = |determinant|/2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Contoh 1

kaedah

  • Pertama, kami menggesa pengguna untuk memasukkan koordinat tiga titik segi tiga.

  • Kami menggunakan kelas Pengimbas untuk membaca koordinat yang dimasukkan oleh pengguna dan menyimpannya dalam enam pembolehubah berganda (x1, y1, x2, y2, x3, y3).

  • Seterusnya, kami menggunakan formula untuk mengira penentu matriks koordinat -

| x1 y1 1 |
| x2 y2 1 | = x1*y2 + x2*y3 + x3*y1 - y1*x2 - y2*x3 - y3*x1
| x3 y3 1 |
Salin selepas log masuk
Salin selepas log masuk
  • Kemudian kita mengira luas segi tiga menggunakan formula -

area = |determinant|/2
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini ialah atur cara Java yang menggunakan penentu untuk mengira luas segi tiga -

import java.util.Scanner;

public class TriangleArea {
   public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);

      // Prompt the user to enter the coordinates of three points
      System.out.println("Enter the coordinates of three points separated by a space:");
      double x1 = scanner.nextDouble();
      double y1 = scanner.nextDouble();
      double x2 = scanner.nextDouble();
      double y2 = scanner.nextDouble();
      double x3 = scanner.nextDouble();
      double y3 = scanner.nextDouble();

      // Compute the area of the triangle using determinants
      double determinant = x1 * y2 + x2 * y3 + x3 * y1 - y1 * x2 - y2 * x3 - y3 * x1;
      double area = Math.abs(determinant / 2);

      // Display the area of the triangle
      System.out.println("The area of the triangle is " + area);
   }
}
Salin selepas log masuk

Penerangan

Sila ambil perhatian bahawa fungsi Math.abs() digunakan untuk memastikan kawasan itu sentiasa positif, memandangkan penentu mungkin negatif jika bucu disenaraikan mengikut tertib lawan jam.

Output

Enter the coordinates of three points separated by a space:
4 3
2 6
7 4
The area of the triangle is 5.5
Salin selepas log masuk

Contoh 2

Kaedah ini berfungsi dengan mana-mana segi tiga, tanpa mengira orientasi atau saiznya. Program ini menganggap bahawa pengguna memasukkan koordinat berangka yang sah untuk tiga titik, jika tidak, pengecualian mungkin dilemparkan jika input tidak sah.

Ini ialah atur cara Java yang menggunakan penentu untuk mengira luas segi tiga -

import java.util.Scanner;

public class TriangleArea {

   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.print("Enter the coordinates of the first point: ");
      double x1 = sc.nextDouble();
      double y1 = sc.nextDouble();

      System.out.print("Enter the coordinates of the second point: ");
      double x2 = sc.nextDouble();
      double y2 = sc.nextDouble();

      System.out.print("Enter the coordinates of the third point: ");
      double x3 = sc.nextDouble();
      double y3 = sc.nextDouble();

      double area = calculateTriangleArea(x1, y1, x2, y2, x3, y3);

      System.out.println("The area of the triangle is " + area);
   }

   public static double calculateTriangleArea(double x1, double y1, double x2, double y2, double x3, double y3) {
      double determinant = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
      return Math.abs(determinant) / 2.0;
   }
}
Salin selepas log masuk

Penerangan

Atur cara menggesa pengguna untuk memasukkan koordinat tiga titik yang membentuk segi tiga, dan kemudian menggunakan kaedah calculateTriangleArea() untuk mengira luas segi tiga melalui penentu. Akhirnya, ia mencetak kawasan yang dikira ke konsol.

Output

Enter the coordinates of the first point: 0 0
Enter the coordinates of the second point: 4 0
Enter the coordinates of the third point: 0 3
The area of the triangle is 6.0
Salin selepas log masuk

KESIMPULAN

Program Java untuk mengira luas segitiga menggunakan penentu adalah cara yang mudah dan cekap untuk mengira luas segitiga yang diberi koordinat. Program ini menggunakan pengiraan aritmetik dan algebra asas untuk menentukan penentu matriks koordinat dan kemudian menggunakan penentu itu untuk mengira luas segi tiga menggunakan formula mudah. Program ini menunjukkan cara menggunakan kelas Pengimbas untuk input pengguna, kelas Matematik untuk operasi matematik dan cara menggunakan organisasi kod dan modulariti.

Kerumitan masa program adalah masa tetap, yang bermaksud bahawa ia melaksanakan bilangan operasi tetap tanpa mengira saiz input. Ini menjadikannya program yang pantas dan cekap untuk mengira luas segi tiga. Kerumitan ruang atur cara juga adalah malar kerana ia hanya menggunakan jumlah memori yang tetap untuk menyimpan pembolehubah dan tidak memerlukan sebarang peruntukan memori tambahan.

Atas ialah kandungan terperinci Program Java untuk mengira luas segi tiga menggunakan penentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!