JavaRush /Java Blog /Random-ID /Rehat kopi #170. Kami sedang menulis program Java untuk m...

Rehat kopi #170. Kami sedang menulis program Java untuk memeriksa segitiga siku-siku. Membuat algoritma pengurutan Anda sendiri

Dipublikasikan di grup Random-ID

Program Java untuk memeriksa segitiga siku-siku

Sumber: Mayankvikash Artikel ini menunjukkan pengembangan program Java untuk menguji segitiga untuk melihat apakah segitiga tersebut mempunyai sudut siku-siku. Segitiga siku-siku adalah segitiga yang salah satu sudut dalamnya berukuran 90 derajat. Ada beberapa sifat segitiga siku-siku; salah satunya adalah kuadrat sisi miring sama dengan jumlah kuadrat kaki-kakinya (tegak lurus dan alas segitiga). Ini disebut teorema Pythagoras. Sisi miring adalah sisi terpanjang suatu segitiga. Rehat kopi #170.  Kami sedang menulis program Java untuk memeriksa segitiga siku-siku.  Buat algoritma pengurutan Anda sendiri - 1

Logika program

Karena kuadrat sisi miring sama dengan jumlah kuadrat kedua sisi lainnya, kita perlu menghitung jumlah tersebut. Dan jika sama dengan kuadrat sisi miringnya, maka segitiga tersebut siku-siku. Tangkapan layar program: Rehat kopi #170.  Kami sedang menulis program Java untuk memeriksa segitiga siku-siku.  Membuat algoritma pengurutan Anda sendiri - 2Sekarang mari kita tulis programnya. Berikut adalah struktur dasarnya:
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
Deklarasi variabel:
int h, p, b;
Permintaan pengguna untuk masukan:
System.out.println("Enter the Hypotenuse");
h = in.nextInt();
System.out.println("Enter the Perpendicular");
p = in.nextInt();
System.out.println("Enter the Base");
b = in.nextInt();
Cara sederhana untuk memeriksa apakah kuadrat sisi miring sama dengan jumlah kuadrat tegak lurus dan alasnya adalah dengan menggunakan if-else . Kondisi if-else :
if (h*h==(p*p)+(b*b)){
    System.out.println("Right Angled Triangle");
}
else{
    System.out.println("Not a right angled Traingle");
}

Kode

import java.util.*;
public class RightAngledTriangle {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int h, p, b;
        System.out.println("Enter the Hypotenuse");
        h = in.nextInt();
        System.out.println("Enter the Perpendicular");
        p = in.nextInt();
        System.out.println("Enter the Base");
        b = in.nextInt();

        if (h*h==(p*p)+(b*b)){
            System.out.println("Right Angled Triangle");
        }
        else{
            System.out.println("Not a right angled Traingle");
        }

    }
}

Kesimpulan

Segitiga tidak siku-siku: Rehat kopi #170.  Kami sedang menulis program Java untuk memeriksa segitiga siku-siku.  Membuat algoritma pengurutan Anda sendiri - 3Segitiga siku-siku: Rehat kopi #170.  Kami sedang menulis program Java untuk memeriksa segitiga siku-siku.  Membuat algoritma pengurutan Anda sendiri - 4

Membuat algoritma pengurutan Anda sendiri

Sumber: Medium Dengan tutorial ini, Anda akan mempelajari cara mengurutkan tidak hanya dalam urutan menaik atau menurun, tetapi juga berdasarkan parameter Anda sendiri. Rehat kopi #170.  Kami sedang menulis program Java untuk memeriksa segitiga siku-siku.  Membuat algoritma pengurutan Anda sendiri - 5Biasanya di Java atau bahasa pemrograman lainnya kita mengurutkan dalam urutan ascending atau descending. Tapi bisakah kita mengurutkan berdasarkan parameter kita sendiri? Untuk mengetahuinya, mari kita urutkan dulu dengan cara biasa – dalam urutan menaik atau menurun.
//Например, у нас есть массив
Integer array[]={9,4,8,5,7,6,1,2,3};

//Сортируем по возрастанию
Arrays.sort(array);

//печатаем отсортированный массив
System.out.println(Arrays.toString(array));

//Сортируем по убыванию
Arrays.sort(array, Collections.reverseOrder());

//печатаем отсортированный массив
System.out.println(Arrays.toString(array));
KELUAR:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) adalah metode pengumpulan di Java untuk mengurutkan array. Jika digunakan tanpa parameter kedua, maka pengurutan terjadi dalam urutan menaik. Pada parameter kedua kita dapat mendefinisikan Collections.reverseOrder() untuk mengurutkan dalam urutan menurun. Tapi kita perlu membuat algoritma pengurutan kita sendiri di parameter kedua. Bagaimana cara melakukannya? Misalkan kita perlu mengurutkan angka-angka dalam suatu array sedemikian rupa sehingga ketika kita menggabungkannya kita mendapatkan angka yang terbesar dari semua angka tersebut, dengan syarat hanya posisi angkanya saja yang bisa diubah, bukan angkanya. di nomor itu. Misalnya: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} Ada kelas di Java Comparator di mana kita harus membebani fungsi perbandingan secara berlebihan. Cara kerjanya adalah jika dua elemen muncul dengan urutan {item1, item2} maka keduanya akan diterima oleh fungsi komparator seperti ini:
public int compare(item 1, item2){

}
Jika fungsi menghasilkan nilai positif, fungsi pengurutan akan menukar elemen. Artinya, keluaran dalam koleksi adalah {item2,item1} . Jika fungsi mengeluarkan hasil negatif atau nol, maka urutannya tidak akan berubah, keluarannya akan tetap sama: {item1,item2} . Logika ini berlaku secara rekursif untuk semua anggota array. Jadi, kembali ke pertanyaan awal, kita akan mendefinisikan logika kita di kelas komparator dengan membebani fungsi bandingkan() seperti ini:
Collections.sort(A,new Comparator<Integer>(){

public int compare(Integer a,Integer b){
String a1=Integer.toString(a)+Integer.toString(b);
String a2=Integer.toString(b)+Integer.toString(a);
int l =a1.length();
for(int i=0;i<l;i++){

if(a1.charAt(i)>a2.charAt(i)){
return -1;
}

else if(a1.charAt(i)<a2.charAt(i)){
return 1;

}

else continue;

}

return 0;

}
Di sini kita menggabungkan dua angka dan memeriksa mana yang lebih besar. Logika ini diterapkan secara rekursif ke semua angka lain dalam array untuk menghasilkan hasil yang diinginkan. Ringkasnya, gunakan kelas Comparator untuk membebani fungsi bandingkan() secara berlebihan . Ini akan membantu Anda membuat logika pengurutan Anda sendiri dan mengembalikan nilai positif ketika mengubah urutan kemunculan dalam array, dan nilai negatif atau 0 ketika mempertahankan urutan.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION