JavaRush /Java Blog /Random-KO /커피 브레이크 #170. 우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다. 나만의 정...

커피 브레이크 #170. 우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다. 나만의 정렬 알고리즘 만들기

Random-KO 그룹에 게시되었습니다

직각삼각형을 확인하는 Java 프로그램

출처: Mayankvikash 이 기사에서는 삼각형이 직각인지 확인하기 위해 테스트하는 Java 프로그램의 개발을 보여줍니다. 직각삼각형은 내각 중 하나가 90도인 삼각형입니다. 직각삼각형에는 몇 가지 속성이 있습니다. 그 중 하나는 빗변의 제곱이 다리의 제곱(삼각형의 수직 및 밑변)의 합과 같다는 것입니다. 이것을 피타고라스의 정리라고 합니다. 빗변은 삼각형의 가장 긴 변입니다. 커피 브레이크 #170.  우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다.  나만의 정렬 알고리즘 만들기 - 1

프로그램 로직

빗변의 제곱은 다른 두 변의 제곱의 합과 같으므로 이 합을 계산해야 합니다. 그리고 빗변의 제곱이 같으면 직각삼각형이 됩니다. 프로그램 스크린샷: 커피 브레이크 #170.  우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다.  나만의 정렬 알고리즘 만들기 - 2이제 프로그램을 작성해 보겠습니다. 기본 구조는 다음과 같습니다.
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
변수 선언:
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-else 를 사용하는 것입니다 . If-else 조건 :
if (h*h==(p*p)+(b*b)){
    System.out.println("Right Angled Triangle");
}
else{
    System.out.println("Not a right angled Traingle");
}

암호

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

    }
}

결론

직각이 아닌 삼각형: 커피 브레이크 #170.  우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다.  나만의 정렬 알고리즘 만들기 - 3직각 삼각형: 커피 브레이크 #170.  우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다.  나만의 정렬 알고리즘 만들기 - 4

나만의 정렬 알고리즘 만들기

출처: Medium 이 튜토리얼을 통해 오름차순이나 내림차순으로 정렬하는 방법뿐만 아니라 사용자 고유의 매개변수를 기반으로 정렬하는 방법도 배우게 됩니다. 커피 브레이크 #170.  우리는 직각삼각형을 확인하는 Java 프로그램을 작성하고 있습니다.  나만의 정렬 알고리즘 만들기 - 5일반적으로 Java나 다른 프로그래밍 언어에서는 오름차순 또는 내림차순으로 정렬합니다. 하지만 우리 자신의 매개변수를 기준으로 정렬할 수 있을까요? 알아보려면 먼저 일반적인 방법(오름차순 또는 내림차순)으로 정렬해 보겠습니다.
//Например, у нас есть массив
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));
출구:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array)는 배열을 정렬하는 Java의 컬렉션 메서드입니다. 두 번째 매개변수 없이 사용되면 오름차순으로 정렬됩니다. 두 번째 매개변수에서는 내림차순으로 정렬하도록 Collections.reverseOrder()를 정의할 수 있습니다. 하지만 두 번째 매개변수에서는 자체 정렬 알고리즘을 만들어야 합니다. 어떻게 하나요? 숫자를 결합할 때 숫자의 위치만 변경될 수 있고 숫자는 변경되지 않는다는 조건으로 모든 숫자 중에서 가장 큰 숫자를 얻는 방식으로 배열의 숫자를 정렬해야 한다고 가정합니다. 그 숫자에. 예: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} 비교 함수를 오버로드해야 하는 Java Comparator 의 클래스입니다. 작동 방식은 두 요소가 {item1, item2} 순서로 나타나면 다음과 같이 비교기 함수에 의해 허용됩니다.
public int compare(item 1, item2){

}
함수가 양수 값을 출력하면 정렬 함수는 요소를 교체합니다. 즉, 컬렉션의 출력은 {item2,item1} 입니다 . 함수가 음수 또는 0 결과를 출력하는 경우 순서는 변경되지 않으며 출력은 동일하게 유지됩니다: {item1,item2} . 이 논리는 배열의 모든 구성원에 재귀적으로 적용됩니다. 따라서 원래 질문으로 돌아가서 다음과 같이 Compare() 함수 를 오버로드하여 비교기 클래스에 논리를 정의합니다 .
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;

}
여기서 우리는 두 숫자를 결합하여 어느 숫자가 더 큰지 확인했습니다. 이 논리는 원하는 결과를 생성하기 위해 배열의 다른 모든 숫자에 재귀적으로 적용됩니다. 요약하면 Comparator 클래스를 사용하여 Compare() 함수를 오버로드합니다 . 이렇게 하면 자신만의 정렬 논리를 만들고 배열의 표시 순서를 변경할 때 양수 값을 반환하고, 순서를 유지할 때 음수 값 또는 0을 반환하는 데 도움이 됩니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION