65 698
Assignments Done
99,2%
Successfully Done
In October 2018

Answer to Question #64354 in Java | JSP | JSF for Parth Desai

Question #64354
Problem 2: Triangle Recognition (If, If … Else)

Create Triangle Recognition on the right side of the app. It should ask the user to enter three points. You will need six text fields – three pairs of two. Each pair will represent a point (x, y). The coordinates of the points should be double variables. Using these points, the app should communicate to the user if the points form a triangle. Once it is confirmed that the points form a triangle the app needs to identify the type of triangle that was formed: Equilateral, Scalene, Isosceles, Right-Angled, Obtuse, or any combination. It has to communicate this to the user. Then it has to print the length of the sides of the triangle using the distance formula.
Expert's answer
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.util.Scanner;
import javax.swing.*;
public class TriangleRecognition extends JFrame{

private JButton type = new JButton("Type Triangle");
private JTextField input1 = new JTextField();
private JTextField input2 = new JTextField();
private JTextField input3 = new JTextField();
private JTextField input4 = new JTextField();
private JTextField input5 = new JTextField();
private JTextField input6 = new JTextField();

private JLabel label1 = new JLabel("x1:");
private JLabel label2 = new JLabel("y1:");
private JLabel label3 = new JLabel("x2:");
private JLabel label4 = new JLabel("y2:");
private JLabel label5 = new JLabel("x3:");
private JLabel label6 = new JLabel("y3:");


public TriangleRecognition() {
this.setBounds(200, 200, 500, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container container = this.getContentPane();
container.setLayout(new GridLayout(4, 4, 7, 10));
container.add(label1);
container.add(input1);
container.add(label2);
container.add(input2);
container.add(label3);
container.add(input3);
container.add(label4);
container.add(input4);
container.add(label5);
container.add(input5);
container.add(label6);
container.add(input6);

type.addActionListener(new ButtonEventListener());
container.add(type);
}



class ButtonEventListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
double x1,y1,x2,y2,x3,y3;
double length1,length2,length3;
x1 = Double.parseDouble(input1.getText());
y1 = Double.parseDouble(input2.getText());
x2 = Double.parseDouble(input3.getText());
y2 = Double.parseDouble(input4.getText());
x3 = Double.parseDouble(input5.getText());
y3 = Double.parseDouble(input6.getText());

length1 = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2));
length2 = Math.sqrt(Math.pow(x3-x2, 2) + Math.pow(y3-y2, 2));
length3 = Math.sqrt(Math.pow(x1-x3, 2) + Math.pow(y1-y3, 2));

String message = "";

message += "Length of the sides 1: " + length1 + "\n";
message += "Length of the sides 2: " + length2 + "\n";
message += "Length of the sides 3: " + length3 + "\n";
message += "Type triangle: " + typeTriangle(length1, length2, length3);
JOptionPane.showMessageDialog(null, message, "Triangle", JOptionPane.PLAIN_MESSAGE);
}
}


static public String typeTriangle(double length1,double length2,double length3){
if((length1 + length2 < length3 && length2 + length3 < length1 && length1 + length3 < length2) ||
(length1 == 0 && length2 == 0 && length3 == 0)) {
return "Not triangle";
}else
if(length1 == length2 && length3 == length1) {//if a = b = c ,triangle is Equilateral
return "Equilateral";
}

if((length1 == Math.sqrt(length2 * length2 + length3 * length3))
|| (length2 == Math.sqrt(length1 * length1 + length3 * length3))
||(length3 > Math.sqrt(length2 * length2 + length1 * length1))) { //Pythagor theorem,if a^2 = b^2 + c^2 triangle is Rectangular
return "Rectangular";
}

if((length1 == length2) || (length1 == length3) || (length2 == length3)) {// if triangle is isosceles

if((length1 > Math.sqrt(length2 * length2 + length3 * length3))
||(length2 > Math.sqrt(length1 * length1 + length3 * length3))
||(length3 > Math.sqrt(length2 * length2 + length1 * length1))) {// if a^2 > b^2 + c^2 triangle is Obtuse Isosceles
return "Obtuse Isosceles";
}
else //else Acute Isosceles
return "Acute Isosceles";
}
return "Scalene";
}

public static void main(String[] args) {
TriangleRecognition app = new TriangleRecognition();
app.setVisible(true);
}
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be first!

Leave a comment

Ask Your question

Submit
Privacy policy Terms and Conditions