JavaRush /Blogue Java /Random-PT /Pausa para café #170. Estamos escrevendo um programa Java...

Pausa para café #170. Estamos escrevendo um programa Java para verificar um triângulo retângulo. Criando seu próprio algoritmo de classificação

Publicado no grupo Random-PT

Programa Java para verificar o triângulo retângulo

Fonte: Mayankvikash Este artigo demonstra o desenvolvimento de um programa Java para testar um triângulo para ver se ele tem um ângulo reto. Um triângulo retângulo é um triângulo com um de seus ângulos internos medindo 90 graus. Existem várias propriedades de um triângulo retângulo; uma delas é que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (perpendicular e base do triângulo). Isso é chamado de teorema de Pitágoras. A hipotenusa é o lado mais longo de um triângulo. Pausa para café #170.  Estamos escrevendo um programa Java para verificar um triângulo retângulo.  Crie seu próprio algoritmo de classificação - 1

Lógica do programa

Como o quadrado da hipotenusa é igual à soma dos quadrados dos outros dois lados, precisamos calcular esta soma. E se for igual ao quadrado da hipotenusa, então o triângulo é retângulo. Captura de tela do programa: Pausa para café #170.  Estamos escrevendo um programa Java para verificar um triângulo retângulo.  Criando seu próprio algoritmo de classificação - 2Agora vamos escrever o programa. Aqui está sua estrutura básica:
import java.util*;
public class RightAngledTriangle{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    // code
  }
}
Declaração de variáveis:
int h, p, b;
Solicitação de entrada do usuário:
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();
Uma maneira simples de verificar se o quadrado da hipotenusa é igual à soma dos quadrados da perpendicular e da base é usar if-else . Condição if-else :
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");
        }

    }
}

Conclusão

Triângulo não retângulo: Pausa para café #170.  Estamos escrevendo um programa Java para verificar um triângulo retângulo.  Criando seu próprio algoritmo de classificação – 3Triângulo retângulo: Pausa para café #170.  Estamos escrevendo um programa Java para verificar um triângulo retângulo.  Criando seu próprio algoritmo de classificação – 4

Criando seu próprio algoritmo de classificação

Fonte: Médio Com este tutorial, você aprenderá como classificar não apenas em ordem crescente ou decrescente, mas também com base em seus próprios parâmetros. Pausa para café #170.  Estamos escrevendo um programa Java para verificar um triângulo retângulo.  Criando seu próprio algoritmo de classificação – 5Normalmente em Java ou qualquer outra linguagem de programação classificamos em ordem crescente ou decrescente. Mas podemos classificar com base em nosso próprio parâmetro? Para descobrir, vamos primeiro classificar da maneira usual - em ordem crescente ou decrescente.
//Например, у нас есть массив
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));
Saída:
[1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1]
Arrays.sort(array) é um método de coleção em Java para classificar um array. Se for utilizado sem um segundo parâmetro, a classificação ocorre em ordem crescente. No segundo parâmetro podemos definir Collections.reverseOrder() para classificar em ordem decrescente. Mas precisamos criar nosso próprio algoritmo de classificação no segundo parâmetro. Como fazer isso? Suponha que precisemos ordenar os números em uma matriz de tal forma que, ao combiná-los, obtenhamos um número que seja o maior de todos os números, com a condição de que apenas a posição dos números possa ser alterada, e não os dígitos nesse número. Por exemplo: {1,2,3,4}=>{4321} {12,34}=>{3412} {30,3}=>{330} {8,89}=>{898} Há um classe no Java Comparator na qual devemos sobrecarregar a função de comparação. A forma como funciona é que se dois elementos aparecerem na ordem {item1, item2} então eles serão aceitos pela função comparadora assim:
public int compare(item 1, item2){

}
Se a função gerar um valor positivo, a função de classificação trocará os elementos. Ou seja, a saída da coleção será {item2,item1} . Se a função gerar um resultado negativo ou zero, a ordem não mudará, a saída permanecerá a mesma: {item1,item2} . Esta lógica se aplica recursivamente a todos os membros do array. Então, voltando à pergunta original, definiremos nossa lógica na classe comparadora sobrecarregando a função compare() assim:
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;

}
Aqui combinamos dois números e verificamos qual deles é maior. Essa lógica é aplicada recursivamente a todos os outros números da matriz para produzir o resultado desejado. Para resumir, use a classe Comparator para sobrecarregar a função compare() . Isso o ajudará a criar sua própria lógica de classificação e retornar um valor positivo ao alterar a ordem de aparecimento no array e um valor negativo ou 0 ao manter a ordem.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION