Problema com exercicio

7 respostas
T

Galera so novo nesse negocio de java, e nao sei praticamente nada, aii um professor passo pra fazer um exercicio e to mei garrado com esse negocio ai d parametro, se puderem me ajudar. o exercicio eh esse:

Construa uma classe contendo dois métodos:
a. eQuadrado: recebe como parâmetros quatro valores inteiros e retorna true se esses
valores puderem formar os lados de um quadrado, e false em caso contrário.
b. eRetangulo : recebe como parâmetros quatro valores inteiros e retorna true se esses
valores puderem formar os lados de um retângulo, e false em caso contrário.

aii fiz uma resoluçao aki, mas tah dano uns errinhos, se puderem ajudar

import javax.swing.*;

class Exercicio1 {

	int quadrado, retangulo;
	static int eQuadrado(int n1, int n2, int n3, int n4)
	  {
	    int quadrado;
	    
	    if (n1 == n2 == n3 == n4)
	      quadrado = JOptionPane.showMessageDialog(null,"Quadrado = True");
	    else
	      quadrado = JOptionPane.showMessageDialog(null,"Quadrado = False");
	    
	    return quadrado;
	  }
	
	static int eRetangulo(int alt1, int alt2, int comp1, int comp2)
	  {
	    int retangulo;
	    
	    if ((alt1 == alt2) && (comp1 == comp2))
	      retangulo = JOptionPane.showMessageDialog(null,"Retangulo = True");
	    else
	      retangulo = JOptionPane.showMessageDialog(null,"Retangulo = False");
	    
	    return retangulo;
	  }  
	public static void main(String[] args) {
			
		quadrado = Exercicio1.eQuadrado(5,5,5,5);
		retangulo = Exercicio1.eRetangulo(10,5,10,5);
	}	
}

vlw galera....ve oq tah errado ai pra eu consertar demoro, brigadao

7 Respostas

T

Bom vc não citou explicitou nenhum erro!
Mas pelo enunciado você esta fazendo os 2 métodos
retorna um inteiro em vez de um boolean, sugiro
que muda-se para o seguinte seu código

import javax.swing.*;

class Exercicio1 {

	static int eQuadrado(int n1, int n2, int n3, int n4)
	  {    
	    return (n1 == n2 == n3 == n4);
	  }
	
	static int eRetangulo(int alt1, int alt2, int comp1, int comp2)
	  {	    
	    return ((alt1 == alt2) && (comp1 == comp2));
	  }  

	public static void main(String[] args) {			
	    JOptionPane.showMessageDialog(null,"Quadrado = "+Exercicio1.eQuadrado(5,5,5,5));
            JOptionPane.showMessageDialog(null,"Retangulo = "+Exercicio1.eRetangulo(10,5,10,5));
                ;
	}	

}
T

Ele continua dando erro, postei os erros aii da uma olhada…vlw

import javax.swing.*;    
 
 class Exercicio1 {
 
 	static int eQuadrado(int n1, int n2, int n3, int n4)
 	  {    
 *	    return (n1 == n2 == n3 == n4);  // incomparable types: boolean and int

 	  }
 	
 	static int eRetangulo(int alt1, int alt2, int comp1, int comp2)
 	  {	    
 * 	    return ((alt1 == alt2) && (comp1 == comp2));  // incomparable types: boolean and int

 	  }  
 
 	public static void main(String[] args) {			
 	    JOptionPane.showMessageDialog(null,"Quadrado = "+Exercicio1.eQuadrado(5,5,5,5));
        JOptionPane.showMessageDialog(null,"Retangulo = "+Exercicio1.eRetangulo(10,5,10,5));
         
 	}	
 
 }
nbluis

Voçê nao pode fazer n1 == n2 == n3 == n4

Você deve testar cada um dos elementos…

leandroeschiavi

Esse resolve seus problemas !!
Veja só !!!

import javax.swing.*;

class Exercicio1 {

static void eQuadrado(int n1, int n2, int n3, int n4){
    
    if( (n1 == n2) && (n2 == n3) && (n3 == n4) ){
          JOptionPane.showMessageDialog(null,"Quadrado = True");
    }else{
      JOptionPane.showMessageDialog(null,"Quadrado = False");
    }
  }

static void eRetangulo(int alt1, int alt2, int comp1, int comp2){
    
    if ((alt1 == alt2) && (comp1 == comp2)){
          JOptionPane.showMessageDialog(null,"Retângulo = True");
    }else{
          JOptionPane.showMessageDialog(null,"Retângulo = False");
    }
  }  
public static void main(String[] args) {
		
        Exercicio1 calculo = new Exercicio1();
        calculo.eQuadrado(5,5,5,5);
        calculo.eRetangulo(10,10,5,5);
}

}

T

Outras dicas:

Se em matemática você tem a seguinte expressão:

10 &lt x &lt 20

em Java você não pode escrever igualzinho à matemática; você tem de escrever:

(10 &lt x) && (x &lt 20)

ou seja, você tem de usar os operadores de comparação de 2 em 2 operandos, e juntar com "&&" ou "||" conforme a necessidade.

T

Desculpe… é que eu não compilei nem nada digitei direto aqui
esse vai :slight_smile: Os tipos de retorno estavam int e estava faltando
os parenteses como foi dito :wink:

import javax.swing.*;    
  
  class Exercicio1 {
  
  	static boolean eQuadrado(int n1, int n2, int n3, int n4)
  	  {    
	    return ((n1 == n2) && (n3 == n4));  
  	  }
  	
  	static boolean eRetangulo(int alt1, int alt2, int comp1, int comp2)
  	  {	    
 	    return ((alt1 == alt2) && (comp1 == comp2));  
  	  }  
  
  	public static void main(String[] args) {			
  	    JOptionPane.showMessageDialog(null,"Quadrado = "+Exercicio1.eQuadrado(5,5,5,5));
         JOptionPane.showMessageDialog(null,"Retangulo = "+Exercicio1.eRetangulo(10,5,10,5));
          
  	}	
  
  }
T

vlw moçada nao tava fragando muito bem essa kestao de parametros e
de boolean, vlw mesmo, deu pra ter uma noçao, brigadao

Criado 16 de abril de 2007
Ultima resposta 16 de abr. de 2007
Respostas 7
Participantes 5