JavaRush /Java Blog /Random-JA /コーヒーブレイク#170。直角三角形をチェックする Java プログラムを作成しています。独自の並べ替えアルゴリズ...

コーヒーブレイク#170。直角三角形をチェックする Java プログラムを作成しています。独自の並べ替えアルゴリズムを作成する

Random-JA グループに公開済み

直角三角形をチェックするJavaプログラム

出典: Mayankvikash この記事では、三角形が直角かどうかをテストする Java プログラムの開発を示します。 直角三角形は、内角の 1 つが 90 度である三角形です。直角三角形にはいくつかの特性があります。それらの 1 つは、斜辺の 2 乗が脚 (三角形の垂線と底辺) の 2 乗の和に等しいということです。これをピタゴラスの定理といいます。斜辺は三角形の最も長い辺です。 コーヒーブレイク#170。 直角三角形をチェックする Java プログラムを作成しています。 独自の並べ替えアルゴリズムを作成する - 1

プログラムロジック

斜辺の二乗は他の 2 辺の二乗の合計に等しいため、この合計を計算する必要があります。そして、それが斜辺の二乗に等しい場合、三角形は直角になります。プログラムのスクリーンショット: コーヒーブレイク#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 のコレクション メソッドです。2 番目のパラメーターを指定せずに使用すると、ソートは昇順で行われます。2 番目のパラメーターでは、Collections.reverseOrder()を定義して降順で並べ替えることができます。ただし、2 番目のパラメータで独自の並べ替えアルゴリズムを作成する必要があります。どうやってするの?数字の位置のみを変更でき、桁は変更できないという条件で、それらを結合したときにすべての数字の中で最大の数字が得られるように、配列内の数字を順序付ける必要があるとします。その数で。例: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} Java Comparatorのクラスで、比較関数をオーバーロードする必要があります。その仕組みは、2 つの要素が{item1, item2}の順序で出現する場合、それらは次のようにコンパレーター関数によって受け入れられることです。
public int compare(item 1, item2){

}
関数が正の値を出力した場合、sort 関数は要素を交換します。つまり、コレクション内の出力は{item2,item1}になります。関数が負の結果またはゼロの結果を出力した場合、順序は変更されず、出力は同じままになります: {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;

}
ここでは 2 つの数値を組み合わせて、どちらが大きいかを調べます。このロジックは配列内の他のすべての数値に再帰的に適用され、望ましい結果が生成されます。要約すると、Comparatorクラスを使用して、 compare()関数をオーバーロードします。これは、独自の並べ替えロジックを作成し、配列内の出現順序を変更する場合は正の値を返し、順序を維持する場合は 負の値または0を返すのに役立ちます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION