Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Circulo.java package Area.Perimetro; public class Circulo { float raio; double pi = 3.14; public Circulo( float r) { //Construtor com um parâmetro raio = r; } float calculaArea() { float area = (float) (pi * (raio*raio)); //Método com retorno para calcular área do círculo return area; } float calculaPerimetro() { float perimetro = (float) (2*pi*raio); //Método com retorno para calcular perímetro círculo return perimetro; } } Principal.java package Area.Perimetro; import javax.swing.JOptionPane; public class Principal{ public static void main(String[] args){ //Varíavel para validar o laço de repeticão int op; //Criando referência de cada polígono Triangulo t; Quadrado q; Circulo c; Retangulo r; do { Object [] elementos = {"Triângulo","Quadrado","Círculo","Retângulo"};//Armazenando os polígonos no Object[] calc String escolha = String.valueOf(JOptionPane.showInputDialog( //String.valueOf para converter de Object[] para String null, null, "Escolha o polígono", JOptionPane.QUESTION_MESSAGE, null,//Parâmetros mensagem, tipo de mesagem elementos, elementos[0])); //Parâmetros do Object[] e qual Object[] será iniciado na caixa de diálogo //Escolhendo o poligono atraves do object[] elementos //Se a escolha for o Triângulo if( escolha == elementos[0]) { Object[] calc = {"Área","Perimetro"};//Armazenando area e perimetro no Object[] calc String operacao = String.valueOf(JOptionPane.showInputDialog(//String.valueOf para converter de Object[] para String null, null, "Escolha a opção", JOptionPane.QUESTION_MESSAGE, null, //Parâmetros mensagem, tipo de mesagem calc, calc[0]));//Parâmetros do Object[] e qual Object[] será iniciado na caixa de diálogo //se a escolha for a Área if(operacao == calc[0]) { String strBase = JOptionPane.showInputDialog( null, "Informe a base","Base",JOptionPane.QUESTION_MESSAGE); //(null, mensagem ,título, tipo de mensagem) String strAltura = JOptionPane.showInputDialog(null,"Informe a altura","Altura",JOptionPane.QUESTION_MESSAGE); float fBase = Float.parseFloat(strBase);//conversão de string para float da base float fAltura = Float.parseFloat(strAltura);//conversão de string para float da altura t = new Triangulo(fBase,fAltura );//Instanciando objeto float area = t.calculaArea();//Calculando a Área através do método calculaArea() da classe Triangulo String mensagem = "Área do Triângulo de Base: "+t.base+ " e Altura: "//Armazenando dados em uma string + t.altura+"\nÉ igual a: "+area ; JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE); } //Se a escolha for o Perímetro if(operacao == calc[1]) { //(null, mensagem ,título, tipo de mensagem) String strBase = JOptionPane.showInputDialog( null,"Informe o valor do lado","Lado",JOptionPane.QUESTION_MESSAGE); float fBase = Float.parseFloat(strBase);//Conversão de string para float da base t = new Triangulo(fBase, fBase);//Instanciando objeto float perimetro = t.calculaPerimetro();//Calculando a Perímetro através do método calculaPerimetro() da classe Triangulo JOptionPane.showMessageDialog(null,"Triângulo com Perímetro igual a: "+perimetro,"Resultado",JOptionPane.INFORMATION_MESSAGE); } } //Se a escolha for o Quadrado if( escolha == elementos[1]) { Object[] calc1 = {"Área","Perimetro",}; //Armazenando area e perimetro no Object[] calc1 String operacao = String.valueOf(JOptionPane.showInputDialog( //String.valueOf para converter de Object[] para String null, null, "Escolha a opção", JOptionPane.QUESTION_MESSAGE, null, //Parâmetros mensagem, tipo de mesagem calc1, calc1[0]));//Parâmetros do Object[] e qual Object[] será iniciado na caixa de diálogo //se a escolha for a Área if(operacao == calc1[0]) { String strLado = JOptionPane.showInputDialog(null,"Informe o valor do lado","Lado",JOptionPane.QUESTION_MESSAGE); float fLado = Float.parseFloat(strLado);//conversão de string para float do lado q = new Quadrado(fLado);//Instanciando objeto float area = q.calculaArea();//Calculando a Área através do método calculaArea() da classe Quadrado String mensagem = "Área do Quadrado de lado: " +q.lado+ "\n É igual a: " +area; //Armazenando dados em uma string JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE); } //Se a escolha for o Perímetro if(operacao == calc1[1]) { String strLado = JOptionPane.showInputDialog(null,"Informe o valor do lado","Lado",JOptionPane.QUESTION_MESSAGE); float fLado = Float.parseFloat(strLado);//Conversão de string para float do lado q = new Quadrado(fLado);//Instanciando objeto float perimetro = q.calculaPerimetro();//Calculando o Perímetro através do método calculaArea() da classe Quadrado JOptionPane.showMessageDialog(null,"Quadrado com Perímetro igual a: "+perimetro,"Resultado",JOptionPane.INFORMATION_MESSAGE ); } } //Se a escolha for o Círculo if( escolha == elementos[2]) { Object[] calc2 = {"Área","Perímetro"};//armazenando area e perimetro no Object[] calc2 String operacao = String.valueOf(JOptionPane.showInputDialog( //String.valueOf para converter de Object[] para String null, null, "Escolha a opção", JOptionPane.QUESTION_MESSAGE, null, //Parâmetros mensagem, tipo de mesagem calc2, calc2[0]));//Parâmetros do Object[] e qual Object[] será iniciado na caixa de diálogo //se a escolha for a Área if(operacao == calc2[0]) { String strraio = JOptionPane.showInputDialog(null,"Informe o valor do raio","Raio",JOptionPane.QUESTION_MESSAGE); //conversão de string para float float fraio = Float.parseFloat(strraio); c = new Circulo(fraio);//Instanciando objeto float area = c.calculaArea();//Calculando área através do método calculaArea() da classe Circulo String mensagem = "Área do Circulo de raio: " +c.raio+"\n É igual a: " +area;//armazenando dados em uma string JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE ); } //se a escolha for o perímetro if(operacao == calc2[1]) { String strraio = JOptionPane.showInputDialog(null,"Informe o valor do raio","Raio",JOptionPane.QUESTION_MESSAGE); float fraio = Float.parseFloat(strraio);//conversão de string para float c = new Circulo(fraio);//Instanciando objeto float perimetro = c.calculaPerimetro();//Calculando a Perímetro através do método calculaArea() da classe Circulo String mensagem = "Círculo com Perímetro igual a: " +perimetro; JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE); } } //se a escolha for o Retângulo if( escolha == elementos[3]) { Object[] calc3 = {"Área","Perímetro"};//armazenando area e perimetro no Object[] calc3 String operacao1 = String.valueOf(JOptionPane.showInputDialog( null, null, "Escolha a opção", JOptionPane.QUESTION_MESSAGE, null, calc3, calc3[0])); //se a escolha for a Área if(operacao1 == calc3[0]) { String strBase = JOptionPane.showInputDialog( null, "Informe a base","Base",JOptionPane.QUESTION_MESSAGE); String strAltura = JOptionPane.showInputDialog(null,"Informe a altura","Altura",JOptionPane.QUESTION_MESSAGE); //conversão de string para float float fBase = Float.parseFloat(strBase); float fAltura = Float.parseFloat(strAltura); //Instanciando objeto r = new Retangulo(fBase,fAltura); float area = r.CalculaArea();//Calculando a Área através do método calculaArea() da classe Retangulo String mensagem = "Área do retangulo de Base: "+r.base+ " e Altura: " + r.altura+"\nÉ igual a: "+area ;//armazenando dados em uma string JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE ); } //se a escolha for o perímetro if(operacao1 == calc3[1]) { String strBase = JOptionPane.showInputDialog( null, "Informe a base","Base",JOptionPane.QUESTION_MESSAGE); String strAltura = JOptionPane.showInputDialog(null,"Informe a altura","Altura",JOptionPane.QUESTION_MESSAGE); //conversão de string para float float fBase = Float.parseFloat(strBase); float fAltura = Float.parseFloat(strAltura); //Instanciando objeto r = new Retangulo(fBase,fAltura); float perimetro = r.CalculaPerimetro();//Calculando a Perímetro através do método calculaArea() da classe Retangulo String mensagem = "Retângulo com Perímetro igual a: " +perimetro;//armazenando dados em uma string JOptionPane.showMessageDialog(null, mensagem,"Resultado",JOptionPane.INFORMATION_MESSAGE); } } op = JOptionPane.showConfirmDialog(null,"Deseja escolher novamente?"); System.out.println( op ); //enquanto a opção for sim o laço de repetição permaneçe verdadeiro }while(op == 0); } } Quadrado.java package Area.Perimetro; public class Quadrado { float lado; public Quadrado( float l) { lado = l; //Construtor com um parâmetro } float calculaArea() { float area = (lado * lado); //Método com retorno para calcular área do quadrado return area; } float calculaPerimetro() { float perimetro = (4*lado); //Método com retorno para calcular perímetro do quadrado return perimetro; } } Retangulo.java package Area.Perimetro; public class Retangulo { float base, altura; public Retangulo(float b, float a) { base = b; //Construtor com dois parâmetros altura = a; } float CalculaArea() { float area = base *altura; //Método com retorno para calcular área do retângulo return area; } float CalculaPerimetro() { float perimetro = (2*base) +(2*altura); //Método com retorno para calcular perímetro do retângulo return perimetro; } } Triangulo.java package Area.Perimetro; public class Triangulo { float base, altura; public Triangulo( float b, float a) { base = b; //Construtor com dois parâmetros altura = a; } float calculaArea() { float area = (base * altura)/2; //Método com retorno para calcular área do triângulo return area; } float calculaPerimetro() { float perimetro = 3*base; //Método com retorno para calcular perímetro do triângulo return perimetro; } }