JavaRush /Blog Java /Random-VI /Nghỉ giải lao #170. Chúng tôi đang viết một chương trình ...

Nghỉ giải lao #170. Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông. Tạo thuật toán sắp xếp của riêng bạn

Xuất bản trong nhóm

Chương trình Java để kiểm tra tam giác vuông

Nguồn: Mayankvikash Bài viết này trình bày sự phát triển của một chương trình Java để kiểm tra một hình tam giác xem nó có góc vuông hay không. Tam giác vuông là tam giác có một trong các góc trong bằng 90 độ. Có một số tính chất của tam giác vuông; một trong số đó là bình phương cạnh huyền bằng tổng bình phương của hai chân (vuông góc và đáy của tam giác). Đây được gọi là định lý Pythagore. Cạnh huyền là cạnh dài nhất của một tam giác. Nghỉ giải lao #170.  Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông.  Tạo thuật toán sắp xếp của riêng bạn - 1

Logic chương trình

Vì bình phương cạnh huyền bằng tổng bình phương của hai cạnh kia nên ta cần tính tổng này. Và nếu nó bằng bình phương cạnh huyền thì tam giác đó là góc vuông. Ảnh chụp màn hình của chương trình: Nghỉ giải lao #170.  Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông.  Tạo thuật toán sắp xếp của riêng bạn - 2Bây giờ hãy viết chương trình. Đây là cấu trúc cơ bản của nó:
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
Khai báo biến:
int h, p, b;
Lời nhắc của người dùng về đầu vào:
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();
Một cách đơn giản để kiểm tra xem bình phương cạnh huyền có bằng tổng bình phương của đường vuông góc và đáy là sử dụng if-else . Điều kiện if-else :
if (h*h==(p*p)+(b*b)){
    System.out.println("Right Angled Triangle");
}
else{
    System.out.println("Not a right angled Traingle");
}

Mã số

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");
        }

    }
}

Phần kết luận

Tam giác không vuông: Nghỉ giải lao #170.  Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông.  Tạo thuật toán sắp xếp của riêng bạn - 3Tam giác vuông: Nghỉ giải lao #170.  Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông.  Tạo thuật toán sắp xếp của riêng bạn - 4

Tạo thuật toán sắp xếp của riêng bạn

Nguồn: Medium Với hướng dẫn này, bạn sẽ học cách sắp xếp không chỉ theo thứ tự tăng dần hoặc giảm dần mà còn dựa trên các thông số của riêng bạn. Nghỉ giải lao #170.  Chúng tôi đang viết một chương trình Java để kiểm tra tam giác vuông.  Tạo thuật toán sắp xếp của riêng bạn - 5Thông thường trong Java hoặc bất kỳ ngôn ngữ lập trình nào khác, chúng tôi sắp xếp theo thứ tự tăng dần hoặc giảm dần. Nhưng chúng ta có thể sắp xếp dựa trên tham số của riêng mình không? Để tìm hiểu, trước tiên chúng ta hãy sắp xếp theo cách thông thường - theo thứ tự tăng dần hoặc giảm dần.
//Например, у нас есть массив
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));
Lối ra:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) là một phương thức tập hợp trong Java để sắp xếp một mảng. Nếu nó được sử dụng mà không có tham số thứ hai thì việc sắp xếp sẽ diễn ra theo thứ tự tăng dần. Trong tham số thứ hai, chúng ta có thể định nghĩa Collections.reverseOrder() để sắp xếp theo thứ tự giảm dần. Nhưng chúng ta cần tạo thuật toán sắp xếp của riêng mình trong tham số thứ hai. Làm thế nào để làm nó? Giả sử chúng ta cần sắp xếp các số trong một mảng sao cho khi kết hợp chúng lại, chúng ta sẽ có một số lớn nhất trong tất cả các số, với điều kiện là chỉ có thể thay đổi vị trí của các số chứ không thể thay đổi các chữ số. trong số đó. Ví dụ: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} Có một lớp trong Java Comparator trong đó chúng ta phải nạp chồng hàm so sánh. Cách thức hoạt động là nếu hai phần tử xuất hiện theo thứ tự {item1, item2} thì chúng sẽ được hàm so sánh chấp nhận như sau:
public int compare(item 1, item2){

}
Nếu hàm xuất ra giá trị dương thì hàm sắp xếp sẽ hoán đổi các phần tử. Nghĩa là, đầu ra trong bộ sưu tập sẽ là {item2,item1} . Nếu hàm đưa ra kết quả âm hoặc bằng 0 thì thứ tự sẽ không thay đổi, kết quả đầu ra vẫn giữ nguyên: {item1,item2} . Logic này áp dụng đệ quy cho tất cả các thành viên của mảng. Vì vậy, quay trở lại câu hỏi ban đầu, chúng ta sẽ xác định logic của mình trong lớp so sánh bằng cách nạp chồng hàm so sánh () như thế này:
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;

}
Ở đây chúng ta đã kết hợp hai số và kiểm tra xem số nào lớn hơn. Logic này được áp dụng đệ quy cho tất cả các số khác trong mảng để tạo ra kết quả mong muốn. Tóm lại, hãy sử dụng lớp Comparator để nạp chồng hàm so sánh() . Điều này sẽ giúp bạn tạo logic sắp xếp của riêng mình và trả về giá trị dương khi thay đổi thứ tự xuất hiện trong mảng và giá trị âm hoặc 0 khi duy trì thứ tự.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION