JavaRush /Blog Jawa /Random-JV /Ngopi #170. Kita nulis program Jawa kanggo mriksa segitig...

Ngopi #170. Kita nulis program Jawa kanggo mriksa segitiga tengen. Nggawe algoritma ngurutake dhewe

Diterbitake ing grup

Program Jawa kanggo mriksa segitiga tengen

Sumber: Mayankvikash Artikel iki nduduhake pangembangan program Jawa kanggo nguji segi telu kanggo ndeleng manawa sudute tengen. Segitiga tengen iku segi telu kanthi salah siji sudut njero ukurane 90 derajat. Ana sawetara sifat segitiga tengen; salah sijine yaiku kuadrat hipotenusa padha karo jumlah kuadrat sikil (jejeg lan dasar segitiga). Iki diarani teorema Pythagoras. Hipotenuse minangka sisih paling dawa saka segi telu. Ngopi #170.  Kita nulis program Jawa kanggo mriksa segitiga tengen.  Nggawe algoritma ngurutake dhewe - 1

Logika program

Wiwit kuadrat hypotenuse padha karo jumlah kuadrat saka rong sisi liyane, kita kudu ngetung jumlah iki. Lan yen padha karo kuadrat hypotenuse, banjur segitiga iku tengen-sudut. Screenshot program: Ngopi #170.  Kita nulis program Jawa kanggo mriksa segitiga tengen.  Nggawe algoritma ngurutake dhewe - 2Saiki ayo nulis program kasebut. Punika struktur dhasaripun:
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;
Pandhuan pangguna kanggo input:
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 prasaja kanggo mriksa apa kuadrat hipotenusa padha karo jumlah kuadrat jejeg lan dhasare yaiku nggunakake if-else . Yen-liyane syarat :
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 non-tengen: Ngopi #170.  Kita nulis program Jawa kanggo mriksa segitiga tengen.  Nggawe algoritma ngurutake dhewe - 3Segitiga tengen: Ngopi #170.  Kita nulis program Jawa kanggo mriksa segitiga tengen.  Nggawe algoritma ngurutake dhewe - 4

Nggawe algoritma ngurutake dhewe

Sumber: Sedheng Kanthi tutorial iki, sampeyan bakal sinau carane ngurutake ora mung ing urutan munggah utawa mudhun, nanging uga adhedhasar paramèter sampeyan dhewe. Ngopi #170.  Kita nulis program Jawa kanggo mriksa segitiga tengen.  Nggawe algoritma ngurutake dhewe - 5Biasane ing basa Jawa utawa basa pamrograman liyane kita urutake kanthi urutan munggah utawa mudhun. Nanging kita bisa ngurutake adhedhasar parameter kita dhewe? Kanggo mangerteni, ayo diurutake dhisik kanthi cara biasa - kanthi urutan munggah utawa mudhun.
//Например, у нас есть массив
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));
metu:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) minangka cara koleksi ing Jawa kanggo ngurutake array. Yen digunakake tanpa parameter kapindho, pangurutan kasebut dumadi kanthi urutan munggah. Ing parameter kapindho kita bisa netepake Collections.reverseOrder () kanggo ngurutake ing urutan mudhun. Nanging kita kudu nggawe algoritma ngurutake dhewe ing parameter kapindho. Carane nindakake? Upaminipun kita kudu supaya nomer ing larik ing cara sing nalika kita gabungke kita njaluk nomer sing paling gedhe saka kabeh nomer, karo kondisi sing mung posisi nomer bisa diganti, lan ora digit. ing nomer kasebut. Contone: {1,2,3,4} =>{4321} {12,34} =>{3412} {30,3} =>{330} {8,89} =>{898} Ana kelas ing Java Comparator kang kita kudu kakehan fungsi comparison. Cara kerjane yaiku yen rong unsur katon ing urutan {item1, item2} banjur bakal ditampa dening fungsi komparator kaya iki:
public int compare(item 1, item2){

}
Yen fungsi kasebut ngasilake nilai positif, fungsi urut bakal ngganti unsur kasebut. Tegese, output ing koleksi bakal dadi {item2,item1} . Yen fungsi ngasilake asil negatif utawa nol, banjur urutan ora bakal diganti, output bakal tetep padha: {item1,item2} . Logika iki ditrapake sacara rekursif kanggo kabeh anggota array. Dadi, bali menyang pitakonan asli, kita bakal nemtokake logika ing kelas komparator kanthi overloading fungsi comparison () kaya iki:
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;

}
Ing kene kita wis nggabungake rong nomer lan mriksa endi sing luwih gedhe. Logika iki ditrapake sacara rekursif kanggo kabeh nomer liyane ing array kanggo ngasilake asil sing dikarepake. Kanggo ngringkes, nggunakake kelas Comparator kanggo kakehan mbandhingaké () fungsi . Iki bakal mbantu sampeyan nggawe logika ngurutake dhewe lan ngasilake nilai positif nalika ngganti urutan tampilan ing array, lan nilai negatif utawa 0 nalika njaga urutan kasebut.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION