Java - Ayuda con rectangulo!

 
Vista:

Ayuda con rectangulo!

Publicado por JOEly (2 intervenciones) el 14/09/2006 18:00:38
Me gustaria que me ayudaran con este asunto. Tengo que pedir las cuatro coordenadas de un rectangulo por pantalla y decir si corresponden a un rectangulo o no. Lo peor es que deben estar en el primer cuadrante, pero eso ya lo resolvi. Lo primero no. Les agradeceria si me ayudan con eso. ETERNAMENTE AGRADECIDO.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con rectangulo!

Publicado por c (28 intervenciones) el 15/09/2006 13:28:06
Conceptualmente es facil. Dibujate un rectangulo en el primer cuadrante y veras que las coordenadas x, y tienen el mismo valor dos a dos. Es decir, si x1,y1 son las coordenadas del vértice superior derecho y x2,y2 las del vertice inferior derecho, entonces x1=x2. Y lo mismo ocurrira con la coordenada y entre y1 e y4 que es el vertice superior izquierdo

Sólo tienes que ver si los valores de las coordenadas introducidas cumplen este requisito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con rectangulo!

Publicado por JOEly (2 intervenciones) el 15/09/2006 15:16:33
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();
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con rectangulo!

Publicado por J.A.S.C (3 intervenciones) el 24/11/2019 03:20:48
ola, me gustaria que me ayudaras la verdad apenas estoy empezando a relacionar con la programación, me gustaría que me pasaras unos libros para aprender esperare tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar