JavaRush /Java Blog /Random-IT /Pausa caffè #170. Stiamo scrivendo un programma Java per ...

Pausa caffè #170. Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo. Creazione del proprio algoritmo di ordinamento

Pubblicato nel gruppo Random-IT

Programma Java per controllare il triangolo rettangolo

Fonte: Mayankvikash Questo articolo dimostra lo sviluppo di un programma Java per testare un triangolo e vedere se ha un angolo retto. Un triangolo rettangolo è un triangolo con uno dei suoi angoli interni che misura 90 gradi. Esistono diverse proprietà di un triangolo rettangolo; uno di questi è che il quadrato dell'ipotenusa è uguale alla somma del quadrato dei cateti (perpendicolare e base del triangolo). Questo è chiamato teorema di Pitagora. L'ipotenusa è il lato più lungo di un triangolo. Pausa caffè #170.  Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo.  Crea il tuo algoritmo di ordinamento - 1

Logica del programma

Poiché il quadrato dell'ipotenusa è uguale alla somma dei quadrati degli altri due cateti, dobbiamo calcolare questa somma. E se è uguale al quadrato dell'ipotenusa, allora il triangolo è rettangolo. Screenshot del programma: Pausa caffè #170.  Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo.  Creare il proprio algoritmo di ordinamento - 2Ora scriviamo il programma. Ecco la sua struttura di base:
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
Dichiarazione delle variabili:
int h, p, b;
Richiesta di input da parte dell'utente:
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();
Un modo semplice per verificare se il quadrato dell'ipotenusa è uguale alla somma dei quadrati della perpendicolare e della base è utilizzare if-else . Condizione if-else :
if (h*h==(p*p)+(b*b)){
    System.out.println("Right Angled Triangle");
}
else{
    System.out.println("Not a right angled Traingle");
}

Codice

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

    }
}

Conclusione

Triangolo non rettangolo: Pausa caffè #170.  Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo.  Creare il proprio algoritmo di ordinamento - 3Triangolo rettangolo: Pausa caffè #170.  Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo.  Creare il proprio algoritmo di ordinamento - 4

Creazione del proprio algoritmo di ordinamento

Fonte: Medium Con questo tutorial imparerai come ordinare non solo in ordine ascendente o discendente, ma anche in base ai tuoi parametri. Pausa caffè #170.  Stiamo scrivendo un programma Java per verificare la presenza di un triangolo rettangolo.  Creare il proprio algoritmo di ordinamento - 5Di solito in Java o in qualsiasi altro linguaggio di programmazione ordiniamo in ordine ascendente o discendente. Ma possiamo ordinare in base ai nostri parametri? Per scoprirlo, ordiniamo prima nel solito modo: in ordine ascendente o discendente.
//Например, у нас есть массив
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));
Uscita:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) è un metodo di raccolta in Java per ordinare un array. Se viene utilizzato senza un secondo parametro, l'ordinamento avviene in ordine crescente. Nel secondo parametro possiamo definire Collections.reverseOrder() per ordinare in ordine decrescente. Ma dobbiamo creare il nostro algoritmo di ordinamento nel secondo parametro. Come farlo? Supponiamo di dover ordinare i numeri in un array in modo tale che quando li combiniamo otteniamo un numero che è il più grande di tutti i numeri, a condizione che si possa cambiare solo la posizione dei numeri e non le cifre in quel numero. Ad esempio: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} C'è un classe in Java Comparator in cui dobbiamo sovraccaricare la funzione di confronto. Il modo in cui funziona è che se due elementi compaiono nell'ordine {item1, item2} allora verranno accettati dalla funzione comparatore in questo modo:
public int compare(item 1, item2){

}
Se la funzione restituisce un valore positivo, la funzione di ordinamento scambierà gli elementi. Cioè, l'output nella raccolta sarà {item2,item1} . Se la funzione restituisce un risultato negativo o zero, l'ordine non cambierà, l'output rimarrà lo stesso: {item1,item2} . Questa logica si applica in modo ricorsivo a tutti i membri dell'array. Quindi, tornando alla domanda originale, definiremo la nostra logica nella classe comparator sovraccaricando la funzione compare() in questo modo:
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;

}
Qui abbiamo combinato due numeri e verificato quale è maggiore. Questa logica viene applicata in modo ricorsivo a tutti gli altri numeri nell'array per produrre il risultato desiderato. Per riassumere, utilizzare la classe Comparator per sovraccaricare la funzione compare() . Ciò ti aiuterà a creare la tua logica di ordinamento e a restituire un valore positivo quando cambi l'ordine di apparizione nell'array e un valore negativo o 0 quando mantieni l'ordine.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION