Ajuda com codigo java

9 respostas
P

bom o professor quer que eu crie tpw 2 arquivos java, um com metodos e funções e outro com o objeto… só que eu nao sei fazer… ele falou que o meu aqui está estruturado poderiam me ajudar?[i]

import javax.swing.JOptionPane; // JOptionPane pacote de métodos para entrada e saída.
      public class triangulo // declarando a classe
      {
      public static void main(String args[]) //
      {
      String pergunta1,pergunta2,pergunta3;  //criei algumas variaveis para poder armazenar os valores dos lados
      int a,b,c;  // variaveis para receber o valor dos lados do triangulo
      
      pergunta1 = JOptionPane.showInputDialog("Informe o Valor do Lado A: "); //ShowInputDialog tem a mesma função de System.out.print ou seja imprimir na tela, entrada de dados
      a = Integer.parseInt(pergunta1); // função analisa uma string e devolve um número de ponto flutuante.  
      
      pergunta2 = JOptionPane.showInputDialog("Agora Informe o Valor do Lado B: ");//ShowInputDialog tem a mesma função de System.out.print ou seja imprimir na tela
      b = Integer.parseInt(pergunta2); // função analisa uma string e devolve um número de ponto flutuante. 
      
      pergunta3 = JOptionPane.showInputDialog("Por Último, Informe o Valor do Lado C: "); //ShowInputDialog tem a mesma função de System.out.print ou seja imprimir na tela
      c = Integer.parseInt(pergunta3);  // função analisa uma string e devolve um número de ponto flutuante. 
      
      // função que verifica se um lado é menor que a soma dois outros dois, para saber se é ou não um triângulo
      
      if ((c < a+b) && (b < c+a) && (a < c+b)) // aqui ele analiza se um dos lados é menor que a soma dos outros dois, verificando se é ou não um triângulo
      {
         if ((a == b) && (b == c)) // aqui ele verifica se os 3 lados são iguais 
         {
            JOptionPane.showMessageDialog(null,"O Triângulo de lado " + a + " | " + b + " | " + c + " é Eqüilátero","Triângulo Equilátero",JOptionPane.INFORMATION_MESSAGE);
            System.exit(0); //exibe os valores de a,b,c e mensagem que o triângulo é equilátero
         }
         else
         {
            if ((a != b) && (b != c) && (c != a))  // aqui ele verifica se os 3 lados são diferentes
            {
               JOptionPane.showMessageDialog(null,"O triângulo de lado " + a + " | " + b + " | " + c + " é Escaleno","Triângulo Escaleno",JOptionPane.INFORMATION_MESSAGE);
               System.exit(0); //exibe os valores de a,b,c e mensagem que o triângulo escaleno
            }
            else  // aqui ele nao precisa verificar pois, se nao possui todos os lados iguais ou diferentes, possui apena 2.
            {
               JOptionPane.showMessageDialog(null,"O triângulo de lado "+ a + " | " + b + " | " + c + " é Isóceles","Triângulo Isóceles",JOptionPane.INFORMATION_MESSAGE);
               System.exit(0); //exibe os valores de a,b,c e mensagem que o triângulo isóceles
            }
         }
      }
      else                // aqui se um lado for maior que os outros dois ele, exibe dizendo que não é um triângulo.
      {
         JOptionPane.showMessageDialog(null,"O triângulo de lado " + a + " | " + b + " | " + c + " NÃO é um triângulo","Erro",JOptionPane.INFORMATION_MESSAGE);
         System.exit(0);  //exibe os valores de a,b,c e mensagem que não é um triângulo
      }
   }
}

EDIT - Por favor, use os tags [ code ]

9 Respostas

T

Ele falou que está “estruturado” porque você não criou nenhum método na sua classe, você fez tudo no método main.
Vou dar um exemplo do que você poderia fazer. Digamos que você crie uma classe Triangulo:

class Triangulo {
    public Triangulo (double a, double b, double c) { this.a = a; this.b = b; this.c = c; }
    public boolean isEquilatero () { return a == b && b == c; }
    public boolean isIsosceles () { return a == b || b == c || a == c; }
    public boolean isEscaleno () { return a != b && b != c && a != c; }
}

E você crie uma outra classe, que use essa classe Triangulo e faça as tais perguntas que você fez abaixo. Não vou escrever o código para você; isso deixo por sua conta.

pvrsouza

Teu professor já te ensinou alguma coisa de POO?

E

Acho que a classe Triangulo podia ter um método “isTriangulo” ou “isValido” indicando que é um triângulo mesmo (ou seja,

public boolean isValido () { return (c < a+b) && (b < c+a) && (a < c+b); }

Ou esse código poderia ficar no construtor. Se ficar, então se você passar um valor inválido para um triângulo (por exemplo, a = 0, b = 0, c = 0) então ele poderia lançar uma exceção IllegalArgumentException (mas aí você teria de saber como tratar exceções, o que provavelmente não foi dado ainda.)

E

Não me acostumei ainda com a sigla em português. Eu sempre me forço a fazer a tradução mental para OOP - é que “poo”, em inglês, significa outra coisa que não vou dizer aqui. (Dica: é uma atividade fisiológica).

pvrsouza

I get it!! :smiley:

P

pvrsouza:
bom… eu tive uns problemas de nesse simestre de famlia entao, agora eu peguei umas apostilas pra poder fazer isso, teria como alguem, resolver esse pra mim ter uma noção… porque tem outros pra mim fazer tambem…
abradeço desde jah a compreenssão

pvrsouza

Logo vi!

:slight_smile:

P

sera que alguem vai poder me ajudar???
o trabalho eh pra hoje =/

pvrsouza

Cara,

Eu acho dificil alguem fazer o trabalho por voce. Tente fazer e postar o que vc fez para que possamos ajudar.

Abraços!

Criado 15 de junho de 2010
Ultima resposta 16 de jun. de 2010
Respostas 9
Participantes 4