Triángulos
By: a guest | Mar 20th, 2010 | Syntax:
Java | Size: 2.22 KB | Hits: 103 | Expires: Never
package pakSergioFadrique_Arrays_Corregidos;
import java.util.Scanner;
public class TipoTriangulos {
static Scanner teclado=new Scanner (System.in);
public static void main(String[] args) {
double a=leeLado(), b=leeLado(), c=leeLado();
int tipo;
//Reorganizamos los lados
if(a<b){
double aux;
aux=a;
a=b;
b=aux;
}//En este punto, en el conjunto {a,b} en a esta el mayor
if(a<c){
double aux;
aux=a;
a=c;
c=aux;
}//En este punto, en el conjunto {a,b,c}, en a esta el mayor
if(b<c){
double aux;
aux=b;
b=c;
c=aux;
}//En este punto, a>b>c : Estan ordenandos.
tipo=tipo(a,b,c);
mostrar(a,b,c,tipo);
}
//funciones
static double leeLado(){
System.out.println("Introduzca un lado: ");
return teclado.nextDouble();
}
static int tipo(double x, double y, double z){
//Determina el tipo de triangulo
int tipo;
if(x>=(y+z))
tipo=0;
else{//Else 1
if((x==y)&&(y==z))
tipo=3;
else{//Else 2
if(x==y)
tipo=2;
else{//Else 3
if(y==z){
tipo=2;
tipo=resto(x,y,z,tipo);
}
else{
tipo=1;
tipo=resto(x,y,z,tipo);
}
}//else 3
}//else 2
}//else 1
return tipo;
}//Fin funcion de tipo.
static int resto(double a, double b, double c, int tipo){
if((Math.rint(Math.pow((Math.pow(b,2)+Math.pow(c, 2)),0.5)*10)/10==a)&&(tipo==1))
tipo=4;
else
if((Math.rint(Math.pow((Math.pow(b,2)+Math.pow(c, 2)),0.5)*10)/10==a)&&(tipo==2))
tipo=5;
return tipo;
}//Fin funcion resto
static void mostrar(double a, double b, double c, int tipo){
System.out.println("Los lados son: a="+a+" b="+b+" c="+c);
switch (tipo){
case 0:
System.out.println("Es un triángulo imposible.");
break;
case 1:
System.out.println("Es un triángulo escaleno");
break;
case 2:
System.out.println("Es un triángulo isósceles");
break;
case 3:
System.out.println("Es un triángulo equilátero");
break;
case 4:
System.out.println("Es un triángulo recto escaleno");
break;
case 5:
System.out.println("Es un triángulo recto isósceles");
}//Fin switch
}//Fin mostrar
}//Fin TipoTriangulos