JavaRush /Blog Java /Random-ES /Pausa para el café #170. Estamos escribiendo un programa ...

Pausa para el café #170. Estamos escribiendo un programa Java para buscar un triángulo rectángulo. Creando tu propio algoritmo de clasificación

Publicado en el grupo Random-ES

Programa Java para comprobar el triángulo rectángulo.

Fuente: Mayankvikash Este artículo demuestra el desarrollo de un programa Java para probar un triángulo y ver si tiene un ángulo recto. Un triángulo rectángulo es un triángulo cuyos ángulos interiores miden 90 grados. Hay varias propiedades de un triángulo rectángulo; una de ellas es que el cuadrado de la hipotenusa es igual a la suma del cuadrado de los catetos (perpendicular y base del triángulo). Esto se llama teorema de Pitágoras. La hipotenusa es el lado más largo de un triángulo. Pausa para el café #170.  Estamos escribiendo un programa Java para buscar un triángulo rectángulo.  Crea tu propio algoritmo de clasificación - 1

Lógica del programa

Como el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los otros dos catetos, necesitamos calcular esta suma. Y si es igual al cuadrado de la hipotenusa, entonces el triángulo es rectángulo. Captura de pantalla del programa: Pausa para el café #170.  Estamos escribiendo un programa Java para buscar un triángulo rectángulo.  Creando tu propio algoritmo de clasificación - 2Ahora escribamos el programa. Aquí está su estructura básica:
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
Declaración de variables:
int h, p, b;
Solicitud de entrada del usuario:
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();
Una forma sencilla de comprobar si el cuadrado de la hipotenusa es igual a la suma de los cuadrados de la perpendicular y la base es utilizar if-else . Condición si no :
if (h*h==(p*p)+(b*b)){
    System.out.println("Right Angled Triangle");
}
else{
    System.out.println("Not a right angled Traingle");
}

Código

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

    }
}

Conclusión

Triángulo no rectángulo: Pausa para el café #170.  Estamos escribiendo un programa Java para buscar un triángulo rectángulo.  Creando tu propio algoritmo de clasificación - 3Triángulo rectángulo: Pausa para el café #170.  Estamos escribiendo un programa Java para buscar un triángulo rectángulo.  Creando tu propio algoritmo de clasificación - 4

Creando tu propio algoritmo de clasificación

Fuente: Medio Con este tutorial, aprenderá a ordenar no solo en orden ascendente o descendente, sino también según sus propios parámetros. Pausa para el café #170.  Estamos escribiendo un programa Java para buscar un triángulo rectángulo.  Creando tu propio algoritmo de clasificación - 5Generalmente en Java o cualquier otro lenguaje de programación ordenamos en orden ascendente o descendente. ¿Pero podemos ordenar según nuestro propio parámetro? Para averiguarlo, primero clasifiquemos de la forma habitual: en orden ascendente o descendente.
//Например, у нас есть массив
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));
Salida:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) es un método de colecciones en Java para ordenar una matriz. Si se utiliza sin un segundo parámetro, la clasificación se produce en orden ascendente. En el segundo parámetro podemos definir Collections.reverseOrder() para ordenar en orden descendente. Pero necesitamos crear nuestro propio algoritmo de clasificación en el segundo parámetro. ¿Cómo hacerlo? Supongamos que necesitamos ordenar los números en una matriz de tal manera que al combinarlos obtengamos un número que sea el mayor de todos los números, con la condición de que solo se pueda cambiar la posición de los números, y no los dígitos. en ese número. Por ejemplo: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} Hay un clase en Java Comparator en la que debemos sobrecargar la función de comparación. La forma en que funciona es que si dos elementos aparecen en el orden {elemento1, elemento2} , la función de comparación los aceptará de esta manera:
public int compare(item 1, item2){

}
Si la función genera un valor positivo, la función de clasificación intercambiará los elementos. Es decir, la salida de la colección será {item2,item1} . Si la función genera un resultado negativo o cero, entonces el orden no cambiará, la salida seguirá siendo la misma: {item1,item2} . Esta lógica se aplica de forma recursiva a todos los miembros de la matriz. Entonces, volviendo a la pregunta original, definiremos nuestra lógica en la clase de comparación sobrecargando la función compare() de esta manera:
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;

}
Aquí hemos combinado dos números y comprobado cuál es mayor. Esta lógica se aplica de forma recursiva a todos los demás números de la matriz para producir el resultado deseado. En resumen, utilice la clase Comparador para sobrecargar la función comparar() . Esto le ayudará a crear su propia lógica de clasificación y devolverá un valor positivo al cambiar el orden de aparición en la matriz y un valor negativo o 0 al mantener el orden.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION