Gracias c por tu ayuda. Aunque le puse un poco de neuronas al asunto y ya termine de realizar el programa, aqui se los dejo para cuando lo necesiten.
Cuidense.
import javax.swing.*;
public class Rectangulo
{
private static int[][] coordenadas;
private static boolean esRectangulo = false;
//Metodo constructor de la clase
Rectangulo(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4)
{
if(establecer(x1,y1,x2,y2,x3,y3,x4,y4))
{
coordenadas[0][0] = x1;
coordenadas[0][1] = y1;
coordenadas[1][0] = x2;
coordenadas[1][1] = y2;
coordenadas[2][0] = x3;
coordenadas[2][1] = y3;
coordenadas[3][0] = x4;
coordenadas[3][1] = y4;
esRectangulo = true;
}
else
esRectangulo = false;
}
//Metodo constructor de la clase
Rectangulo()
{
coordenadas = new int[4][2];
}
//Metodo principal que ejecuta la aplicacion
public static void main(String[] args)
{
int x1,x2,x3,x4,y1,y2,y3,y4;
Rectangulo rect = new Rectangulo();
System.out.println("\t\t\t\tFUNDACION UNIVERSITARIA SAN MARTIN\n\n\n\n");
while(!esRectangulo)
{
x1 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto X1:"));
y1 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto Y1:"));
x2 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto X2:"));
y2 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto Y2:"));
x3 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto X3:"));
y3 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto Y3:"));
x4 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto X4:"));
y4 = Integer.parseInt(JOptionPane.showInputDialog("Digite el punto Y4:"));
rect = new Rectangulo(x1,y1,x2,y2,x3,y3,x4,y4);
}
JOptionPane.showMessageDialog(null,"El area del rectángulo es: " + area());
JOptionPane.showMessageDialog(null,"El perímetro del rectángulo es: " + perimetro());
JOptionPane.showMessageDialog(null,"La longitud del rectángulo es: " + longitud());
JOptionPane.showMessageDialog(null,"El ancho del rectángulo es: " + ancho());
if(esCuadrado())
JOptionPane.showMessageDialog(null,"Los puntos insertados denotan un cuadrado.");
else
JOptionPane.showMessageDialog(null,"Los puntos insertados no denotan un cuadrado.");
System.exit(0);
}
//Metodo que establece si los datos insertados son validos para el programa
public boolean establecer(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4)
{
if(x1 < 0 || y1 < 0 || x2 < 0 || y2 < 0 || x3 < 0 || y3 < 0 || x4 < 0 || y4 < 0)
{
JOptionPane.showMessageDialog(null,
"Una o más de las coordenadas no está en el primer cuadrante.\nCorrija y vuelva a intentarlo");
}
else
if(x1 < 20 || y1 < 20 || x2 < 20 || y2 < 20 || x3 < 20 || y3 < 20 || x4 < 20 || y4 < 20)
{
JOptionPane.showMessageDialog(null,
"Una o más de las coordenadas tiene un valor menor de 20.\nCorrija y vuelva a intentarlo");
}
else
if(verificarPuntos(x1,y1,x2,y2,x3,y3,x4,y4))
{
JOptionPane.showMessageDialog(null,
"Una o más de las coordenadas no denotan un rectángulo.\nCorrija y vuelva a intentarlo");
}
else
return true;
return false;
}
//Metodo que verifica si los puntos digitados valen para el rectangulo
public boolean verificarPuntos(int val1,int val2,int val3,int val4,int val5,int val6,int val7,int val8)
{
if(verificarPuntosXY(val1,val3,val5,val7) == 0 ||
verificarPuntosXY(val2,val4,val6,val8) == 0)
return true;
else
return false;
}
//Metodo que verifica los puntos en los ejes X e Y
public int verificarPuntosXY(int val1,int val2,int val3,int val4)
{
if((val1 == val2 && val3 == val4) || (val1 == val3 && val2 == val4) ||
(val1 == val4 && val2 == val3))
return 1;
else
return 0;
}
//Metodo que dice si el rectangulo es cuadrado o no
public static boolean esCuadrado()
{
if(lado1() == lado2())
return true;
else
return false;
}
//Metodo para calcular uno de los lados
public static int lado1()
{
if(coordenadas[0][0] == coordenadas[1][0])
return Math.abs(coordenadas[0][0] - coordenadas[2][0]);
else
return Math.abs(coordenadas[0][0] - coordenadas[1][0]);
}
//Metodo para calcular otro de los lados
public static int lado2()
{
if(coordenadas[0][1] == coordenadas[1][1])
return Math.abs(coordenadas[0][1] - coordenadas[2][1]);
else
return Math.abs(coordenadas[0][1] - coordenadas[1][1]);
}
//Metodo para calcular el area del rectangulo
public static int area()
{
return lado1() * lado2();
}
//Metodo para calcular el perimetro
public static int perimetro()
{
return lado1() * 2 + lado2() * 2;
}
//Metodo para calcular la longitud
public static int longitud()
{
if(lado1() > lado2())
return lado1();
else
return lado2();
}
//Metodo para calcular el ancho
public static int ancho()
{
if(lado1() <= lado2())
return lado1();
else
return lado2();
}
}