Resuelva un programa java, seleccione un círculo, un cuadrado y un hexágono regular y luego ingrese el radio del círculo, la longitud del lado del cuadrado y la longitud del lado del hexágono regular para calcular el área.
Esto es lo que escribí cuando entré en contacto por primera vez con JAVa. Tengo la misma idea, así que puedes consultarlo.
importar java.awt.*;
importar java.awt.event.*;
importar javax.swing.*;
clase pública Shape_page extiende WindowAdapter implementa ActionListener,ItemListener{
marco JFrame privado;
Panel privado p,p1,p2;
título JLabel privado; p> p>
área JCheckBox privada, perímetro;
ButtonGroup privado bg;
JRadioButton privado b,b1,b2;
ButtonGroup privado bg1;
p>booleano isSelect=false;
static String index="";
public Shape_page(){
Fuente s= nueva fuente(" Song Dynasty",Font.BOLD,16);
UIManager.put("Label.font",s);
//UIManager.put("JRadioButton .font",s );
UIManager.put("Button.font",s);
frame=new JFrame();
p= new Panel();
p1=new Panel();
p2=new Panel();
title=new JLabel("Área gráfica y perímetro Calculadora") ;
área=new JCheckBox("Área");
perímetro=new JCheckBox("Perímetro");
b=new JRadioButton( "Triángulo ");
b1=new JRadioButton("círculo");
b2=new JRadioButton("rectángulo");
b.addActionListener( this );
b1.addActionListener(this);
b2.addActionListener(this);
area.addItemListener(this);
perímetro.addItemListener(este);
bg=new ButtonGroup();
bg.add(área);
bg.add(perímetro)
bg1=nuevo grupo de botones();
bg1.add(b);
bg1.add(b1);
bg1 .add(b2);
frame.setLayout(new GridLayout(3,1));
frame.addWindo
wListener(this);
frame.add(p);
frame.add(p2);
frame.add(p1);
p.add(título);
p1.add(b);
p1.add(b1);
p1.add( b2);
p2.add(área);
p2.add(perímetro);
frame.setSize(300,200);
frame.setVisible(true);
frame.setResizable(false);
}
public void actionPerformed(ActionEvent e){
if(index.isEmpty()){
JOptionPane.showMessageDialog(frame,"Primero debe seleccionar el tipo de cálculo");
return ;
}
String str=e.getActionCommand();
if(str.equals("Triangle"))
new Triangle();
else if(str.equals("circle"))
nueva Circular();
else if(str.equals("rectangle"))
nuevo Rectángulo();
}
public void itemStateChanged(ItemEvent e) {
JCheckBox check=(JCheckBox)e. ();
Cadena str=check.getText();
if(str.equals("Área"))
index="Área" ;
else if(str.equals("Perímetro"))
index="Perímetro";
}
cierre de ventanas vacías públicas (WindowEvent e){
System.exit(0);
}
public static void main(String[] args) {
p >new Shape_page();
}
}
clase abstracta Shape{
public abstract double getArea() ;
public abstract double Perimeter();
}
clase Circular extiende Shape implementa ActionListener{
private double IP=3.141592654
privado doble r;
privado JFrame fr
ame;
Panel privado p,p1,p2,p3;
título de JLabel privado, salida;
JLabel privado jl,jl1;
JButton privado derecho, Cancelar;
JTextField privado t;
Circular(){
frame=new JFrame();
frame.setLayout(new GridLayout(4,1));
title=new JLabel("circle"+Shape_page.index+"calculator");
salida=new JLabel( "El "+Shape_page.index+" del círculo ingresado es ");
right=new JButton("OK");
Cancel=new JButton("Cancel "); p>
jl=new JLabel("El radio del círculo: ");
jl1=new JLabel("a");
t=new JTextField(4 );
p=nuevo Panel();
p1=nuevo Panel();
p2=nuevo Panel();
p3=nuevo Panel();
p.add(title);p1.add(jl);
p1.add(jl1);p1.add( t);
p2.add(salida);p3.add(derecha);
p3.add(Cancelar);
derecha.addActionListener(este);
Cancelar.addActionListener(this);
frame.add(p);
frame.add(p1);
frame. add(p2);
frame.add(p3);
frame.setSize(450,250);
frame.setVisible(true); >
frame.setResizable(false);
}
public double getArea(){
return IP*r*r;
}
public double Perimeter(){
return 2*IP*r;
}
@ Override p>
public void actionPerformed(ActionEvent e) {
if(e.getSource()==right){
r=Double.parseDouble(t. getText() );
if(Shape_page.index.equals("Area"))
output.setText("El área del círculo ingresado es "+String.valueOf (getArea). ()));
els
e
output.setText("El perímetro del círculo ingresado es "+String.valueOf(Perimeter()));
}
else p>
t.setText("");
}
}
la clase Triangle extiende Shape implementa ActionListener{
doble privado a1;
doble privado a2;
doble privado a3;
marco JFrame privado;
panel privado p, p1, p2,p3;
título de JLabel privado, salida;
JLabel privado jl,jl1,jl2,jl3;
derecho de JButton privado, Cancelar;
JTextField privado t,t1,t2;
Triángulo (){
frame=new JFrame();
frame.setLayout( nuevo GridLayout (4,1));
title=new JLabel("Triangle"+Shape_page.index+"Calculator");
salida=new JLabel("Ingrese el "+Shape_page. index+" del triángulo es ");
right=new JButton("OK");
Cancel=new JButton("Cancel");
jl=new JLabel("Los tres lados del triángulo: ");
jl1=new JLabel("a");
t=new JTextField(4);< / p>
jl2=nuevo JLabel("b");
t1=nuevo JTextField(4);
jl3=nuevo JLabel("c");
p>t2=nuevo JTextField(4);
p=nuevo Panel();
p1=nuevo Panel();
p2 = nuevo Panel();
p3=nuevo Panel();
p.add(title);p1.add(jl);
p1. agregar (jl1);p1.add(t);
p1.add(jl2);p1.add(t1);
p1.add(jl3);p1.add ( t2);
p2.add(salida);p3.add(derecha);
p3.add(Cancelar);
derecha.addActionListener( esto );
Cancel.addActionListener(este);
frame.add(p);
frame.add(p1);
frame.add(p2);
frame.add(p3);
frame.setSize(450,250);
frame.setVisible(true);
frame.setResizable(false);
}
público booleano isTriangle(){ p>
if(a1+a2>a3&&a1+a3>a2&&a2+a3>a1)
devuelve verdadero;
else
devuelve falso;
}
público doble getArea(){
doble a=(a1+a2+a3)/2.0;
doble área= a*(a-a1)*(a-a2)*(a-a3);
return Math.sqrt(área);
}
public double Perimeter(){
if(isTriangle())
devuelve a1+a2+a3;
else
devuelve 0
}
acción nula públicaPerformed(ActionEvent e) {
if(e.getSource()==right){
a1=Double.parseDouble(t.getText());
a2=Double.parseDouble(t1.getText();
a3=Double.parseDouble(t2.getText( ));
if(!isTriangle())
output.setText("El valor ingresado no puede formar un triángulo");
else{ p>
if(Shape_page.index.equals("Area"))
output.setText("El área del triángulo de entrada es "+String.valueOf(getArea())) ;
else
output.setText("El perímetro del triángulo de entrada es "+String.valueOf(Perimeter()));
} p >
}
else{
t.setText("");
t1.setText("");
t2.setText("");
}
}
}
clase Recta
ngle extiende Shape implementa ActionListener{
doble privado a1;
doble privado a2;
marco JFrame privado;
Panel privado p, p1,p2,p3;
título de JLabel privado, salida;
JLabel privado jl,jl1;
derecho de JButton privado, Cancelar;
privado JTextField t,t1;
Rectángulo (){
frame=new JFrame();
frame.setLayout(new GridLayout(4,1 ));
title=new JLabel("Rectangle"+Shape_page.index+"Calculator");
salida=new JLabel("Rectángulo de entrada"+Shape_page .index+"is" );
right=new JButton("OK");
Cancelar=new JButton("Cancelar");
jl= new JLabel("longitud de rectángulo");
jl1=new JLabel("ancho");
t=new JTextField(4);
t1 =new JTextField(4 );
p=nuevo Panel();
p1=nuevo Panel();
p2=nuevo Panel();
p3=nuevo Panel();
p.add(title);p1.add(jl);
p1.add(t);p1.add(jl1);
p1.add(t1);
p2.add(salida);p3.add(derecha);
p3.add (Cancelar);
right.addActionListener(este);
Cancelar.addActionListener(este);
frame.add(p);
marco. agregar(p1);
frame.add(p2);
frame.add(p3);
frame.setSize(450,250 );
frame.setVisible(true);
frame.setResizable(false);
}
público doble getArea() {
devuelve a1*a2;
}
público doble perímetro(){
devuelve 2*(a1+a2); p>}
@Override
acción vacía pública realizada (ActionEvent e) {
if(e.getSource()==right) {
a1=Double.parseDouble(t.getText());
a2=Double.parseDouble(t1.getText());
if(Shape_page.index.equals("Área "))
output.setText("El área del rectángulo de entrada es "+String.valueOf(getArea()));
else
salida .setText("El perímetro del rectángulo ingresado es "+String.valueOf(Perimeter()));
}
else
t. setText ("");
}
}